历史上的今天
今天是:2025年04月01日(星期二)
2021年04月01日 | 实现输出两路频率1x、2x的方波
2021-04-01 来源:eefocus
简介:本文是用STM32的一个定时器实现输出两路频率1x、2x的方波,本文详细介绍了程序并配有仿真图形。
/******************************************************************************************
* 函数名称 : TIM3_Configuration
* 功能描述 : TIM3初始化函数
* 参数 : 无
* 返回值 : 无
* 全局变量 : 无
* 全局静态变量: 无
* 局部静态变量: 无
******************************************************************************************/
void TIM3_Configuration( )
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE); //打开APB2外设
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //开时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; //PA6 PA7
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //要改为 AF_PP
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
TIM_DeInit(TIM3); //将TIM3寄存器设为缺省值
TIM_TimeBaseStructure.TIM_Period=72-1; //ARR的值,计数周期
TIM_TimeBaseStructure.TIM_Prescaler=36-1; //分频 CK_INT=2MHz36分频
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //初始化定时器3
//通道1
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle ;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//输出使能
TIM_OCInitStructure.TIM_Pulse = 1-1 ; //待捕获比较寄存器的值 CRR
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //高电平有效
TIM_OC1Init(TIM3, &TIM_OCInitStructure);//通道初始化
TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Enable); //预装载使能
//通道2
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1 ;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//输出使能
TIM_OCInitStructure.TIM_Pulse = 36-1 ; //待捕获比较寄存器的值 CRR
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //高电平有效
TIM_OC2Init(TIM3, &TIM_OCInitStructure);//通道初始化
TIM3->CNT = 0;
TIM_Cmd(TIM3, ENABLE);//打开定时器
}

上一篇:STM32如何设置定时器
史海拾趣
|
最近在设计一个PIPELINED ADC,发现采样保持运放的速度不够,请问大侠建立时间与UGB和相位裕度是什么关系?哪里有这个问题较详细的资料,建立时间还与那些参数有关?… 查看全部问答> |
|
QT:multiple definition of错误???????? 源码:tem.h中定义Tem类 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include class Tem : pub ...… 查看全部问答> |
|
新做的板子,共有3个串口,串口1 是作为调试口用的, 现在不想让串口1作为调试输出口,让其做为通用的串口来用, 但有个问题: 在PC 端用串口监视软件,和 ARM板的串口一相连,给ARM板供电,发现在PC端 有数据输出,而此时,在ARM端并没有向PC ...… 查看全部问答> |
|
经过不依不挠的努力,和点滴节约出来的时间,来开发了这款应急灯,今晚总算程序的草稿也写好了,下到板子里,一次OK,应急灯就那么亮了 先上图,等我程序修改好后,再详细说明 1,充电电路部分调试成功时 2,完整硬件调试通过时(人头请忽略 ...… 查看全部问答> |
|
TIM时钟选择: ● 1> 内部时钟CK_INT ● 2> 外部时钟模式1:外部输入脚(Tix) ● 3> 外部时钟模式2:外部触发输入(ETR) ● 4> ...… 查看全部问答> |
|
手头上一个项目用STM8S103K3T6,程序调完了,无聊的时候用手摸摸芯片的IO口,发现凡是输入口,摸多几次芯片必复位(最惨 ...… 查看全部问答> |
|
最近要在CE6.0下开发 sqlCE了,按照网上步骤,先在PC上安装sqlCE3.5,然后在在路径C:\\Program Files\\Microsoft SQL Server Compact Edition\\v3.5\\Devices\\wce500\\armv4i中,找如下三个文件:sqlce.wce5.armv4i、sqlce.repl.wce5.armv4i、sqlc ...… 查看全部问答> |




