环境:
- IDE:
- Renesas CS+ for CC
- MCU:
- RL78/F13 R5F10BGG
- FLASHER:
问题描述:
使用CS+ for CC
软件配置Timer
,TAU0
的Channel0
配置为Interval timer
模式,具体配置如下图:
Generate Code之后
在r_cg_timer_user.c
文件里定义并初始化uint16_t Timer_Count = 0;
,并在Channel0
的中断函数r_tau0_channel0_interrupt
里添加如下代码:
R_TAU0_Channel0_Stop(); //关闭TAU0_Channel0中断 |
在r_cg_userdefine.h
文件里定义宏#define Timer_Count_MAX 65000
,在r_mian.c
中声明extern uint16_t Timer_Count;
就可以添加如下Delay_ms
函数:
void Delay_ms(uint16_t num) |
⚠️ Notice:
上面代码中的NOP();
非常重要,不可省略,省略之后代码会卡死在while((num - Timer_Count) != 0)
里面。
最后我把本次的代码放在下面:
R5F10BGG_Demo