单片机两个定时器产生PWM波信号的问题

另个定时器是如何产生PWM波的,工作赋值是怎么赋值的。有什么要求吗?我需要PWM周期是1s,然后T0定时4ms,不知道T1怎么设置。不要赋值粘贴,谢谢... 另个定时器是如何产生PWM波的,工作赋值是怎么赋值的。有什么要求吗?我需要PWM周期是1s,然后T0定时4ms,不知道T1怎么设置。不要赋值粘贴,谢谢 展开
 我来答
linnjing
2016-05-16 · TA获得超过2632个赞
知道大有可为答主
回答量:1230
采纳率:91%
帮助的人:518万
展开全部
T0设置4ms的定时周期,中断服务程序如下:

static uint8_t i;
if( ++i > 250 ) i = 0;
PWM_Out_Pin = ( i >= PWM_Set );

4ms精度,1s的周期,250分之一的分辨率,把这个要求稍微调整一下,改成256分之一的分辨率会更简单一点。

static uint8_t i;
++i; // if( ++i > 250 ) i = 0; // 这句可以去掉,i只有8位,增加到255后会自动归零。
PWM_Out_Pin = ( i >= PWM_Set );

这种精度的PWM,不需要用两个定时器。
追问

这里用来一个T1来定时,但是我不知道为什么在T1函数里面重新赋值的时候为什么不用4000而是368。

追答
我也不知道为什么啊,估计是写错了吧。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式