一个定时器就可以,只说说我的思路:首先要有一个公共的时基,比如你的三路PWM范围是0~1000Hz,而你的占空比是以1%步进,那么就让定时器以10ms中断一次。
建立全局变量 【计数数组[3]】 和 【三份正占空比变量ABC】,这个正占空比变量是char类型,是在主while(1)中根据你的占空比得出来的,表示每中断多少次就翻转一次,在中断里只是为整个计数数组每个变量加一,在主while(1)中计数数组每到正占空比变量的值就翻转相应引脚,同时翻转标志变为【100-正占空比变量】。
表达能力有限,有很多地方说不清楚,就不多说了。
或许你可以看看讲并发机制的书。
一个定时器就可以,只说说我的思路:首先要有一个公共的时基,比如你的三路PWM范围是0~1000Hz,而你的占空比是以1%步进,那么就让定时器以10ms中断一次。
建立全局变量 【计数数组[3]】 和 【三份正占空比变量ABC】,这个正占空比变量是char类型,是在主while(1)中根据你的占空比得出来的,表示每中断多少次就翻转一次,在中断里只是为整个计数数组每个变量加一,在主while(1)中计数数组每到正占空比变量的值就翻转相应引脚,同时翻转标志变为【100-正占空比变量】。
表达能力有限,有很多地方说不清楚,就不多说了。
或许你可以看看讲并发机制的书。
举报