收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

首先是CUBEMX配置

打开系统Debug引脚

设置RCC

设置高速外部时钟HSE 选择外部时钟源

时钟源设置(80MHZ)

省时间可以直接到图中部分输入对应的频率,然后会询问你需不需要自动配置,回车就行

项目文件设置

关键配置:

如下是定时器配置

设置时钟源为内部时钟

启动定时器2的通道2的PWM输出模式

(虽然输出比较模式也能输出可变的PWM,但是需要利用中断,会加大代码复杂度)

将分频值设置为800(最好是800-1),自动重装值为100(最好是100-1)

打开自动重装载使能,否认修改频率或者占空比时可能出现pwm输出停滞一小段的情况

比较值设置为20

这里主频是80Mhz,所以

PWM频率就是80 000 000 / 800 / 100 = 1000HZ

占空比为:20/100 = 20%;

生成代码好后往下看

关键函数:

__HAL_TIM_DIRECTION_STATUS  
__HAL_TIM_PRESCALER         
__HAL_TIM_SetCounter     
__HAL_TIM_GetCounter        
__HAL_TIM_SetAutoreload   
__HAL_TIM_GetAutoreload     
__HAL_TIM_SetClockDivision  
__HAL_TIM_GetClockDivision  
__HAL_TIM_SetICPrescaler    
__HAL_TIM_GetICPrescaler    
__HAL_TIM_SetCompare        
__HAL_TIM_GetCompare

__HAL_TIM_PRESCALER         :修改预分频值

__HAL_TIM_SetAutoreload        :修改自动重装载值

__HAL_TIM_SetCompare        :修改比较值

示范使用:

打开PWM

打开定时器二的通道二的使能

使得PWM按照上面的预设参数输出PWM

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

ps://bbs.csdn.net/topics/618679757)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐