3
添加Component - 定时器
本节学习如何添加外围功能 - CMT,并进行设置,每1ms发生一次中断。
3.1 打开Smart Configurator
如果未打开,请在预览窗口双击rx23ea_local_board_lab.scfg文件。
3.2 确认Clock设置,RX23E-A Local Board上所使用的主时钟为8MHz。
VCC根据所用情况使用选择,参照1.2中的内容。
3.3 确认System设置,调试接口设置为FINE。
3.4 打开Components标签页,点击“+”。
3.5 添加Timer,选择8-bit Timer,点击Next。Count mode选择16 bit,点击Finish。
3.6 设置Timer参数和中断
Compare match A value (TCORA): 1000us
勾选Enable TCORA compare match interrupt (CMIA0),Priority选择Level 15 (Highest)。
3.7 点击右上角“Generate Code”生成代码
弹出提示,依据自己需求是否选择“Always save and generate without asking?”,点击“Proceed”。
3.8 双击rx23ea_local_board_lab.c文件
在main函数中添加下面的第3行代码
void main(void) { R_Config_TMR0_TMR1_Start(); }
并在main函数前添加一个变量,标识Timer是否发生中断。
bool timer_flag = false;
3.9 双击打开Config_TMR0_TMR1_user.c文件
添加以下第5和第11行代码
/*********************************************************************************************************************** Global variables and functions ***********************************************************************************************************************/ /* Start user code for global. Do not edit comment generated here */ extern bool timer_flag; /* End user code. Do not edit comment generated here */ static void r_Config_TMR0_TMR1_cmia0_interrupt(void) { /* Start user code for r_Config_TMR0_TMR1_cmia0_interrupt. Do not edit comment generated here */ timer_flag = true; /* End user code. Do not edit comment generated here */ }
3.10 点击编译代码,无error。
3.11 高亮rx23ea_local_board_lab工程,按下调试按钮。
弹出提示,依据需求是否勾选“Remember my decision”,点击“Switch”。
3.12 在Config_TMR0_TMR1_user.c文件 → r_Config_TMR0_TMR1_cmia0_interrupt函数中设置断点(77行左侧地址或者行数显示处双击鼠标左键)。
3.13 运行代码 (),需要点击两次。确认是否能正确进入中断函数。
确认后,请将这个断点取消(断点处双击鼠标左键)。
3.14 按下断开按钮或者终止按钮。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !