在使用CH32V103R-EVT开发板,用RT-Thread Studio 2.2.5开发,BSP版本 1.0.1 ,RT-Thread版本 4.1.0.
用软件定时器时遇到问题。在启用周期定时器后,会频繁的进入 finsh_thread_entry 线程,一直执行
shell.c低670行的代码,现象就是Debug串口一直在输出字符。
shell.c中跳转的执行处:
shell->line[shell->line_position] = ch;
if (shell->echo_mode)
rt_kprintf("%c", ch);
/* 创建定时器1 /
timer1 = rt_timer_create("timer1", / 定时器名字是 timer1 /
time1_out, / 超时时回调的处理函数 /
RT_NULL, / 超时函数的入口参数 /
5, / 定时长度,以OS Tick为单位,即5个OS Tick /
RT_TIMER_FLAG_PERIODIC); / 周期性定时器 */
定时器回调函数
static void time1_out(void* parameter)
{
static uint8_t time_5ms_cnt = 0;
//bsp_lcd_disp(); //刷新显示屏显示
time_5ms_cnt++;
if((time_5ms_cnt%2) == 0)
{
time_5ms_cnt = 0;
//LED指示灯显示处理
// bsp_key_scan_10ms(); //按键扫描
}
}
更多回帖