N76E003的PWM5在P15输出时因地址处在有写保护的页面,需要额外的语句进行访问。
除了跟其他PWM配置一样的使能和输出语句之外,在对对应寄存器进行赋值操作之前都要加上相应语句。
set_SFRPAGE;
PWM5H = 233>>8;
PWM5L = 233;
clr_SFRPAGE;
可以看到赋值操作前后加上的一组语句就是为了打开对应地址寄存器的写保护。
焦头烂额了一下午之后通过跟例程得相关语句对比分析,不断尝试,查询手册,得以解决。
起因是为了测试PWM输出,但当时手头没有示波器,寻思干脆用PWM输出控制LED来做个呼吸灯,既有效果便于观察,又可以检测自己对这个芯片关于PWM功能的处理。
但因为使用的是硬件工程师根据产品做好的板子,LED只有一颗,正好接在了P15上,完成配置之后却死活得不到输出结果。各种排查测试分析得以解决。