杰里之692N 三路 PWM 的设置方法篇

    技术2022-07-13  70

    1、默认的 TIMER 对应的 PWM 输出的 IO 口, PWM0–TIMER0–PA1 PWM1–TIMER1–PA4 PWM2–TIMER2–PB3 PWM3–TIMER3–PB4 PWM 不通过 OUTPUTCHANNEL 设置的时候,PWM 从默认的 IO 口输出 static void set_timer3_pwm(u32 fre, u8 duty) { SFR(JL_IOMAP->CON1, 8, 4, 15);// CHANNEL0, 对应输出 IO 口的 OUT:0,DIE:0 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); JL_PORTA->PU |= BIT(13); JL_PORTA->PD |= BIT(13); JL_PORTA->DIR &= ~BIT(13); JL_PORTA->OUT &= ~BIT(13); JL_PORTA->DIE &= ~BIT(13); } static void set_timer2_pwm(u32 fre, u8 duty) { SFR(JL_IOMAP->CON3, 24, 4, 14);//CHANNEL2,对应输出 IO 口的 OUT:1,DIE:0 JL_TIMER2->CON = 0x0000; JL_TIMER2->PRD = OSC_Hz / (4 * fre); JL_TIMER2->PWM = (JL_TIMER2->PRD * duty) / 100; JL_TIMER2->CON = (1 << 4) | (1 << 8) | (1 << 0) | (2 << 2); JL_PORTB->PU |= BIT(13); JL_PORTB->PD |= BIT(13); JL_PORTB->DIR &= ~BIT(13); JL_PORTB->OUT |= BIT(13); JL_PORTB->DIE &= ~BIT(13); }

    Processed: 0.010, SQL: 9