TIMER模块PWM功能
Overview
以 AC638N 为例,提供TIMER模块PWM功能的应用示例、工程配置、API 介绍和常见问题。
应用示例
- TIMER模块PWM功能的具体源代码详见 sdk/bsp/AC638N/src/timer_pwm.c 
- timer_pwm.c中参考示例如下:- void timer_pwm_test(void) { log_info("*********** timer pwm test *************"); timer_pwm_init(JL_TIMER4, IO_PORTC_02, 1000, 5000); //1KHz 50% timer_pwm_init(JL_TIMER5, IO_PORTC_03, 10000, 7500);//10KHz 75% extern void wdt_clr(); while (1) { wdt_clr(); } } 
工程配置
- 在 sdk/apps/main.c 中函数 - user_main()添加如下工程代码:- int user_main() { extern void timer_pwm_test(void); timer_pwm_test(); } 
- 编译下载后,PC2 和 PC3连接示波器,观察是否符合如下期望输出: - PC2 - 1KHz50% - PC3 - 10KHz75% 
API参考
TIMER模块PWM功能常用相关 API 介绍,具体软件代码见 sdk/bsp/AC638N/src/timer_pwm.c
Functions
- 
void timer_pwm_init(JL_TIMER_TypeDef *JL_TIMERx, u32 pwm_io, u32 fre, u32 duty)
- timer_pwm初始化函数 - Parameters:
- JL_TIMERx – JL_TIMER0/1/2/3/4/5 
- pwm_io – JL_PORTA_01, JL_PORTB_02,,,等等,支持任意普通IO 
- fre – 频率,单位Hz 
- duty – 初始占空比,0~10000对应0~100% 
 
 
- 
void set_timer_pwm_duty(JL_TIMER_TypeDef *JL_TIMERx, u32 duty)
- timer_pwm改变占空比函数 - Parameters:
- JL_TIMERx – JL_TIMER0/1/2/3/4/5 
- duty – 占空比,0~10000对应0~100% 
 
 
- 
void timer_pwm_test(void)
- timer_pwm参考示例