sure220 发表于 2015-4-20 22:44
个人建议:
1、本身PWM实际上就是一个定时器,可以用PWM中断作为一个定时基准时间,你的PWM的频率为14K,那么就以此为基准时间,在中断中设置时间变量,此变量作为任务查询的标志位,有点类似于时间片轮询的概念,但不全是
2、通讯可以采用中断完成,CAN和485通信分别有CAN通信中断和SCI中断,由于PWM中断的优先级比通信中断优先级高,所以不用干涉,但是要设置好通讯接收完成的标志位,在主循环中一直查询此标志位即可
谢谢,我现在采用的方法和你说的第一点一样,就是在PWM中断中进行计时,到时间则将相应标志置位,然后在主循环中根据这个标志位来执行相应程序。
关于通讯的话我还是想采用查询的方式,尽量不使用中断。PWM的中断优先级比通讯的都高,但是如果通讯已经进入中断之后PWM中断来了,这时候如果没有中断嵌套的话PWM还是得等,不知道这样对于PWM的执行影响有多大?你在实际应用中碰到过因此发生的问题吗,你一般都怎么处理的?