rt_thread_mdelay(1000);rt_kprintf("wait 2 !! \r\n");} 有趣的点是:当我减小send_buf大小...
调试最新的PM组件,睡眠与唤醒的执行默认在idle线程,睡眠唤醒后,串口频繁打印信息,系统工作异常,无法进入睡眠。 使用J-Link调试,发现无法正常的调试。 控制台疯狂打印,rt_thread_mdelay延时功能失效。 分析过程 查看程序发现无明显异常 睡眠唤醒函数放在其他线程,发现工作正常。 通过list_thread 查看线程,发现了问题点,原...
rt-thread 4.0.3 使用类似: void thread_task(void) { while(1) { ... ... 0 2022-6-7 09:20:37 评论 淘帖 邀请回答 安德森大 相关推荐 • rtthread调用了rt_thread_mdelay后会卡死怎么解决 3167 • rt_thread_mdelay影响调试的运行时间怎么办 6509 • 在rt_hw_board_init里如何使用...
调度器如果主动去执行rt_thread_delay或者rt_thread_mdelay会发生什么事情? 我们知道,我们如果要让线程释放资源,只需要调用上述两个函数,就可以切换到其他线程,同时我们的理解上常常会认为这个就是一个等待延时函数,从而当做延时函数来使用,实际上来说,当在调度锁中执行这个delay函数,实际上是无效的,也就是说,无论de...
error 列的线程错误没有多少参考价值,0 是正常,-2 表示超时,执行一个rt_thread_mdelay就变 -2 了。但并不表示有错误。目前还没有看到赋值有其它错误值的代码。 status 列代表当前线程状态。但是呢,因为 list_thread 或 ps 两条命令是在 tshell 线程执行的,所以 tshell 线程肯定是 running ;idle 线程不可能...
error 列的线程错误没有多少参考价值,0 是正常,-2 表示超时,执行一个rt_thread_mdelay就变 -2 了。但并不表示有错误。目前还没有看到赋值有其它错误值的代码。 status 列代表当前线程状态。但是呢,因为 list_thread 或 ps 两条命令是在 tshell 线程执行的,所以 tshell 线程肯定是 running ;idle 线程不可能...
调度器如果主动去执行rt_thread_delay或者rt_thread_mdelay会发生什么事情? 我们知道,我们如果要让线程释放资源,只需要调用上述两个函数,就可以切换到其他线程,同时我们的理解上常常会认为这个就是一个等待延时函数,从而当做延时函数来使用,实际上来说,当在调度锁中执行这个delay函数,实际上是无效的,也就是说,无论de...
=0x20000000)){LOG_E("No legitimate application.");return;}rt_kprintf("Jump to application running ... \n");rt_thread_mdelay(200);//__disable_irq();__set_PRIMASK(1);//此处修改为关闭所有中断HAL_DeInit();for(inti=0;i<128;i++){HAL_NVIC_DisableIRQ(i);HAL_NVIC_ClearPendingIRQ(i);...
no=(rt_uint32_t)parameter;while(1){/* 关闭全局中断 */level=rt_hw_interrupt_disable();cnt+=no;/* 恢复全局中断 */rt_hw_interrupt_enable(level);rt_kprintf("protect thread[%d]'s counter is %d\n",no,cnt);rt_thread_mdelay(no*10);} ...
调度器如果主动去执行rt_thread_delay或者rt_thread_mdelay会发生什么事情? 我们知道,我们如果要让线程释放资源,只需要调用上述两个函数,就可以切换到其他线程,同时我们的理解上常常会认为这个就是一个等待延时函数,从而当做延时函数来使用,实际上来说,当在调度锁中执行这个delay函数,实际上是无效的,也就是说,无论de...