打印
[技术问答]

N76E003不能读取PWM2H,PWM2L值

[复制链接]
1660|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
elife|  楼主 | 2018-12-13 11:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
请教N76E003的程序 怎么不能缓慢更改PWM输出:

u16  pwmSet=0x05ff;
void softPwm(void)
{
   u16 temp16=(u16)PWM2H<<8+PWM2L;   //读取当前PWM值,好像读取不出来?其他的PWM也试了,一样问题。
   if(temp16>pwmSet)
                 temp16--;
         else
                 temp16++;
         PWM2H=temp16>>8;
         PWM2L=temp16&0xff;
         set_LOAD;
   set_PWMRUN;
}
沙发
gx_huang| | 2018-12-13 11:19 | 只看该作者
这个芯片的寄存器有2个page,看看其它地方是否有更改了page

使用特权

评论回复
板凳
elife|  楼主 | 2018-12-13 11:25 | 只看该作者
谢楼上,我试了在读取前加入clr_SFRPAGE,也读不出来。大家有能读取的程序发一下看看。

使用特权

评论回复
地板
gx_huang| | 2018-12-13 12:20 | 只看该作者
elife 发表于 2018-12-13 11:25
谢楼上,我试了在读取前加入clr_SFRPAGE,也读不出来。大家有能读取的程序发一下看看。 ...

你是如何判断不能读取PWM寄存器的?
任何PWM模块,为了保护硬件,不可以随便修改寄存器值的,即使你load了,也是这个周期结束了,才会LOAD进去。

使用特权

评论回复
5
gx_huang| | 2018-12-13 12:20 | 只看该作者
elife 发表于 2018-12-13 11:25
谢楼上,我试了在读取前加入clr_SFRPAGE,也读不出来。大家有能读取的程序发一下看看。 ...

你是如何判断不能读取PWM寄存器的?
任何PWM模块,为了保护硬件,不可以随便修改寄存器值的,即使你load了,也是这个周期结束了,才会LOAD进去。

使用特权

评论回复
6
elife|  楼主 | 2018-12-13 14:51 | 只看该作者
多谢回复,程序运行后没有按设定的PWM逐渐增加,示波器测量的PWM只有一个很小的值,固定不变。后来用变量代替PWM2H,PWM2L可以实现功能。会不会是该寄存器就不能读取呢?读取永远是0?大家有没有读取成功的程序参考一下。楼上提醒了,后来更改为4ms更新一次,PWM周期为500nS,应该完全能够LOAD完成的,但还是没有效果。理论上这个双缓冲应该不影响读取的。

使用特权

评论回复
7
tianxj01| | 2018-12-13 15:23 | 只看该作者
由于PWM寄存器是双缓冲,而芯片内存够用,所以从来也没测试过怎么读取PWM2H,快速也好,慢速也罢,都可以用外部寄存器存储变量,只需要修改该寄存器,然后直接赋值给PWMH和PWML就成,很好用的,也没发现任何问题,关键是代码效率还高。
我是这样操作的。

PWM_REG++;或者PWM_REG--;
然后
PWM2H=PWM_REG>>8;
PWM2L=PWM_REG;
set_LOAD;
就完全OK了。

使用特权

评论回复
8
elife|  楼主 | 2018-12-13 15:26 | 只看该作者
各位老大,问题找到了。犯了个低级错误。u16 temp16=((u16)PWM2H<<8)+PWM2L; 少了个括号,应该是优先级问题。多谢各位。用楼上说的方法也可以。

使用特权

评论回复
9
elife|  楼主 | 2018-12-13 15:27 | 只看该作者
各位老大,问题找到了。犯了个低级错误。u16 temp16=((u16)PWM2H<<8)+PWM2L; 少了个括号,应该是优先级问题。多谢各位。用楼上说的方法也可以。

使用特权

评论回复
10
dongnanxibei| | 2018-12-13 17:23 | 只看该作者

不是可以写吗,既然可以写入,应该可以读啊。你直接读,别做逻辑操作。

使用特权

评论回复
11
dongnanxibei| | 2018-12-13 17:24 | 只看该作者
你先进行写入,然后再读出,赋值给两个初始化为0的变量。试试看。

使用特权

评论回复
12
643757107| | 2018-12-24 21:31 | 只看该作者
弄好没?可以读了吗

使用特权

评论回复
13
xuanhuanzi| | 2018-12-25 11:59 | 只看该作者
这个寄存器没有什么保护啊。

使用特权

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

本版积分规则

35

主题

394

帖子

4

粉丝