如何将卡死线程恢复到初始状态呢?
一、使用uwb模块测距,如果模块没加载,uwb线程会卡死,但不会影响其他线程;二、uwb线程:1.进入后初始化uwb模块;2.while循环中只处理uwb的测距程序;
三、uwb测距,uwb测距使用的是单向测距,其中有一个延时函数(程序就是在这里卡死);
四、想知道:如何将线程重新回复初始化;有相应的函数吗? UWB要进行初始化和配置,还得对系统进行授权 可能会涉及到对系统资源的访问和修改
需要使用特权级来保证安全性吧
用RT_THREAD_PERM_DATA_SYS权限来修改系统数据
特权级能修改时钟参数,也能调设备模式
可以添加延时函数
初始化完成后才能整其他的任务
可以使用RT-Thread的线程回复函数
卡死要看是怎么卡死的,如果只是线程卡死倒无所谓。 好像没有这个函数,只有结束线程,重新开始线程,怎么结束是个问题,毕竟你线程都卡死了。 感觉设计逻辑是有些问题的,最好还是优化一下! 函数得注意优先级
可以使用destroy()函数销毁线程后,手动清除这个代码段
需要在做项目的过程中经历磨难
硬件设计和软件设计本来就是鱼和熊掌的关系,两者不可兼得
结构化模块化的程序设计的思想,使最基本的要求
确定好硬件原理图,硬件布线,最后才是软件的开发
写程序不难,但是程序怎么样才能写的好,写的快,那是需要点经验积累的
在实际的项目应用当中,单片机引脚的复用相当厉害
页:
[1]