当前位置: 代码迷 >> 综合 >> rtthread rt_sem_take断言问题来源定位
  详细解决方案

rtthread rt_sem_take断言问题来源定位

热度:60   发布时间:2023-12-01 10:05:32.0

问题:

(sem != RT_NULL) assertion failed at function:rt_sem_take, line number:333

定位:
找到rt_sem_take函数里的RT_ASSERT(sem != RT_NULL);语句
在上面加一个sem == RT_NULL判断,并在判断语句里打个断点

	  if(sem == RT_NULL){
    rt_kprintf("qiaonima\r\n");   //此处打断点return RT_ERROR;}RT_ASSERT(sem != RT_NULL);

debug调试,然后在断点处step out就可以找到问题来源

ret = rt_sem_take(*sem, t);

就是这小子