最近在学习杰理AC692X,将收获及遇到的一些问题写成博客,方便以后工作中使用
感谢Jim_天河博主的资料,参考博客杰理AC692X—三路定时器PWM
1、默认的 TIMER 对应的 PWM 输出的 IO 口,
PWM0–TIMER0–PA1
PWM1–TIMER1–PA4
PWM2–TIMER2–PB3
PWM3–TIMER3–PB4
2、由于 TIMER0 作系统时钟,所以最多可以输出 3 路 PWM,而且 3 路 PWM 可以通过 OUTPUTCHANNEL
输出到任意的 IO 口上,项目需要使用PWM输出,控制LED灯,原理图板上选择了PWM3默认IO口PB4输出
占空比 N = (Tx_PWM / Tx_PR)*100%
//初始化
static void pwm3_init(u32 fre, u8 duty)
{
// SFR(JL_IOMAP->CON1, 8, 4, 15);// IO映射,CON1对应通道0 不使用IO映射
JL_TIMER3->CON = 0x0000;
JL_TIMER3->PRD = OSC_Hz / (4 * fre);
JL_TIMER3->PWM = (JL_TIMER3->PRD * duty) / 100;
JL_TIMER3->CON = (1 << 4) | (1 << 8) | (1 << 0) | (2 << 2);//(1 << 4) 分频2 (1 << 8) 使能PWM (1 << 0) 定时器计数模式 (2 << 2)OSC作为时钟源
JL_PORTB->PU