关于串口和PWM输出

2019-07-21 05:35发布

受芯片资源限制。在使用串口的同时,串口所在的定时器下还输出了两路PWM。跑程序时发现同时开启串口和PWM程序无法同时运行。关闭和串口在同一个定时器下的PWM输出后串口可以正常输出。
原理图已经贴出,这里UART2和PWM11、PWM12同时使用了TIM1定时器,UART3和PWM9、PWM10同时使用了TIM2定时器。上述程序无法正常运行是因为板子上面硬件资源不允许这样吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
nashui_sx
1楼-- · 2019-07-21 06:50
方案1:串口放到pwm(定时器其他功能也是)之后初始化
方案2:定时器函数初始化的时候最前面加上这两句
TIM_OCStructInit(&TIM_OCInitStructure);//设置缺省值,这一步最好加上
TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);//设置缺省值,这一步最好加上,
防止初始化过程中有的成员并没有赋值出现奇怪错误(用到定时器的其他结构体也类似设置缺省值)
小t是个好孩纸
2楼-- · 2019-07-21 07:15
nashui_sx 发表于 2019-1-25 10:21
方案1:串口放到pwm(定时器其他功能也是)之后初始化
方案2:定时器函数初始化的时候最前面加上这两句
T ...

好的额,我下午试一下您说的方案。通过您的描述,就是说硬件层面来讲串口和PWM输出在同一个定时器下是都可以正常使用的,我的程序不能正常运行是因为对其理解不当初始化时出现了错误,这样理解对吗
nashui_sx
3楼-- · 2019-07-21 12:31
 精彩回答 2  元偷偷看……
小t是个好孩纸
4楼-- · 2019-07-21 18:19
nashui_sx 发表于 2019-1-25 13:39
是的,可以同时使用,这个好像是固件库的bug,论坛讨论很多次了

好的好的,我修改程序之后进行测试看下。能同时使用就好

一周热门 更多>