网上能找到一些ColdFire的PWM的驱动,但是找到的都是通道没有级联的。一般为了提高调节精度,我们都会使用级联的PWM波,下面就实现PWM级联的方法。
在MCF52259_PWM.h 中有如下定义:
#define MCF_PWM_PWMPER0 (*(vuint8 *)(0x401B0014))
#define MCF_PWM_PWMPER1 (*(vuint8 *)(0x401B0015))
#define MCF_PWM_PWMPER2 (*(vuint8 *)(0x401B0016))
#define MCF_PWM_PWMPER3 (*(vuint8 *)(0x401B0017))
#define MCF_PWM_PWMPER4 (*(vuint8 *)(0x401B0018))
#define MCF_PWM_PWMPER5 (*(vuint8 *)(0x401B0019))
#define MCF_PWM_PWMPER6 (*(vuint8 *)(0x401B001A))
#define MCF_PWM_PWMPER7 (*(vuint8 *)(0x401B001B))
级联以前的两个通道的PWM的周期寄存器和占空比寄存器都是8位的寄存器,但是相邻通道的周期寄存器的和占空比寄存器在地址上是连续的,比如通道0的周期寄存器地址为0x401B0014,通道1的周期寄存器的地址为0x401B0015,所以我们对通道0的地址做如下定义:
本文发布于:2024-02-04 08:29:15,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170703127453967.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |