前言
今天讲解“stm32f103 tim输出pwm波形”,提供的软件工程支持最大输出18mhz的pwm波形,函数接口只有两个参数:频率freq和 占空比dutycycle。
定时器的功能很强大,今天讲解的pwm属于定时器中比较输出的功能,难度算一般吧(懂了的人觉得很简单),因为使用了比较的功能。
pwm在实际应用中特别广泛,可能在校的学生不是很了解,但对于很多工作的人来说pwm的应用基本上遍布整个电子化的时代。对于电子相关专业的学生来说,信号发生器都不陌生,信号发生器就是pwm典型的应用。
本文特点:1.提供讲解的软件工程; 2.图片代码比直接贴出源代码容易阅读。
本着免费分享的原则,将讲解的工程源代码分享给大家,还望看到的朋友关注一下微信公众号,并将文章分享给你的朋友。
下载
提供下载的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘。
今天的软件工程下载地址(360云盘):
https://yunpan.cn/csftz7gajfujm访问密码 5132
stm32f10x的资料可以在我360云盘下载:
https://yunpan.cn/crbudugdykam2访问密码 ca90
内容讲解
工程概要说明: 今天配置定时器2通道1输出pwm波形(pa0口输出1khz、20%占空比),可根据情况修改其他tim、其他通道。
注意:最大频率和占空比有一定关系。
占空比等于1%时, 最大频率为360khz
占空比等于50%时,最大频率为18mhz
关于“stm32f103tim输出pwm波形”我把重要的几点在下面分别讲述:
一、rcc时钟配置
该函数位于bsp.c文件下面;
使能rcc时钟:rcc_apb2periph_afio和 rcc_apb1periph_tim2;
这两个时钟是今天工程中重要的。
二、pwm输出引脚
该函数位于timer.c文件下面;
配置pa0为pwm输出引脚(这里的引脚需要和定时器的通道对应,否则没有波形输出),详情请看数据手册关于引脚的说明。
三、输出pwm配置
该函数位于timer.c文件下面;
决定输出频率和占空比主要由这三个参数(tim2_prescaler_value、tim2_period、tim2_pulse)决定的。
以今天工程输出1khz,20%来举例说明:
tim2_prescaler_value = 72m / 36m - 1 = 1
tim2_period = 36000 - 1
tim2_pulse = 7200
这三个怎么得来的请看代码,今天工程输出的波形如下图:
四、今天的重点提示
a.细心研究过代码的人会发现tim_ocmode_pwm1,还有一个tim_ocmode_pwm2,这两个的区别是什么呢? 答案是:输出的极性(也就是方向)不一样。
这时候又有人问:那下面的输出极性tim_ocpolarity_high与上面的关系是什么呢?答案是:这两个参数配合一起输出决定pwm波形的极性。
也就是说不同参数可以达到一样的效果,下图参数的配置同样可以输出一样的波形。
感兴趣的朋友可以试着修改测试一下效果。
b.今天的工程可以设置周期性中断(也就是1ms中断一次),感兴趣的朋友可以试着写一下。使用串口打印测试的话,尽量频率低一点,不然串口响应不过来。
说明
今天提供的软件工程基于stm32f103大容量芯片,其实只要适当修改工程的部分配置,stm32f1的芯片都适用。
智能存储柜的种类和特点分析
公交收费机如何集成(选配)二维码模块
三菱PLC编程常见问题(2)
怀揣创业梦想的有志青年,机智云邀您去硅谷
陕西咸阳市举行了“百企进咸投资兴业”大会
STM32_ TIM输出PWM波形
加密货币可能最终取代国家的法定货币
全自动开口闪点测定仪的功能都有哪些
工控一体机触摸屏不能触摸该如何解决
双摄+麒麟950,华为走心之作华为荣耀8降价300元
基于TDA4935的2X15瓦立体声放大器电路
深圳迪尔西科技与千家物联网企业开展项目战略合作,资源共享开辟共赢新局面
高防服务器是如何抵御攻击的
快讯:小米集团创始人、董事长兼CEO雷军:百亿押注AIoT
国内SaaS陷入困境 海外SaaS却是红利
曝小米手环5屏幕分辨率略有提高 预计将在6月上市
三一集团在两江新区签订落地协议,将建设互联网标杆“灯塔”工厂
鱼雷阻力及减阻方法
CPU处理器14个重要技术指标介绍
禾赛获一汽红旗新车型量产定点 共同打造全球首个舱内激光雷达智驾方案