[技术问答]

N76E003pwm占空比的值实时更新的问题。我的占空比

[复制链接]
1957|1
手机看帖
扫描二维码
随时随地手机跟帖
hxdjb|  楼主 | 2018-8-19 12:45 | 显示全部楼层 |阅读模式
要根据电机速度实时更新的
                      PWM3H = 0x00;                                       
                      PWM3L = 180;           新的占空比数据
                                 
                      PWM3_P00_OUTPUT_ENABLE;
                      while(LOAD==1)   //程序有时会一直死在这里,成了死循环
                                         {; }//只有当LOAD为0时,才能加载新的占空比数据
                      set_LOAD;                                                        
                      set_PWMRUN;
资料说明:设置LOAD更新PWM周期及占空比寄存器值,通过监视LOAD位硬件自动清
1的时候,对周期或占空比寄存器内容的更改,可能引发无法预测的结果。
tianxj01| | 2018-8-19 15:21 | 显示全部楼层
本帖最后由 tianxj01 于 2018-8-19 15:24 编辑

不知道你是怎么看的资料?
N76E003关于PWM寄存器部分官方规格书是这样描述的:(V1.02)
所有的周期及占空比寄存器,具有硬件双缓存设计,因此  {PWMPH, PWMPL} 及  {PWMnH, PWMnL} 寄存器可随时被改写,但不会立即更新PWM周期和占空比,直到寄存器  LOAD  (PWMCON0.6) 置1后和当前周期完成。用于防止产生非完整周期或占空比的PWM波形。
也就是说,这个LOAD是内部硬件使用的,只需要运行开始给它置1,接着就不是我们需要关心的了。看见这个“可随时被改写”了没?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

127

主题

236

帖子

2

粉丝