求各位大佬帮忙看下,STM32怎么输出PWM波,每个定时器好像有各自的复用端口,不能随意从其他引脚输出,怎么确定定时器的通道和想输出PWM波的引脚相对应。
每个定时器有自己特定的输出通道,如楼上所列出来的。
但这也不代表其他IO口不能输出PWM了,可以使用模拟的PWM输出,使用定时器中断,在中断内部判断是否符合PWM,然后翻转相应的IO口即可。
不可以,硬件产生pwm都是基于定时器的,定时器越多pwm口越多
定时器的输出脚都可以pwm,其他的需要转化
只要做到这两个时间的计时,那么就可以实现基本的PWM了。
stm32的定时器支持硬件PWM输出,一般都能满足设计需求,IO模拟性能上不如硬件PWM的
1.其实楼主需要确认PWM波的具体意义,如果从泛义讲PWM就是一种可变频率的波形话,所有基本上所有IO脚都可以输出,但从效率等等来讲,在具体应用中还是专门的特定定时器通道效率更高更适合。
2. 关于“怎么确定定时器的通道和想输出PWM波的引脚相对应”这个问题,当然首先是查手册,知道那些端口可以作为特定的PWM端口,此外要结合具体的应用,其他端口应用情况从空闲的特定端口中选择一个(还要考虑布线、相互隔离方便、防干扰等等)。如果没有合适的特定端口,就要用 前面“445465396@qq.com ” 提到过的方法了(当然确定端口其实还有原则是重要的功能需要优先满足,兼顾效率,进行综合考虑)。
硬件PWM,只能在固定引脚的输出,和你选择开启的定时器有关,
模拟PWM,非特殊功能脚都可以,单开一个定时器,设置相应中断时间翻转电平就好,进度上差点,频繁中断可能会影响其他程序的运行。
如何确定对应关系:
1.查看mcu的datasheet,上面有MCU的整体外设说明,各个引脚的功能说明,和封装尺寸说明
2.也可以适用STM32CubeMX,新建工程,选择你的型号,找到TIM勾选PWM输出,就能看到对应的引脚变色
如果使用IO模拟,肯定除了几个特殊引脚,基本上可以说任意引脚,但是感觉这样太不好了吧。
硬件PWM基于定时器,再加上管脚复用,也没多少
并不是任意脚.
如果是硬件PWM,那要参考数据手册.看管脚分布.
如果是软件PWM,能够输出的管脚都能用.