用rtt时如何得知系统是否已经启动?
在使用rtt时,写一个延时函数,在该延时函数中获取系统是否已经启动,如果已经启动并处以可以调用系统延时函数的状态,就调用系统的延时函数,否则就调用软件延时。该功能如何实现,用ucos时可以通过获取OSRunning、OSIntNesting、OSLockNesting的状态实现,rtt通过什么实现? rt_thread_self() != RT_NULL 回复【1楼】ffxz-----------------------------------------------------------------------
奥,谢谢。提个建议:
将struct rt_thread* rt_current_thread 定义时进行初始化,即改为struct rt_thread* rt_current_thread = RT_NULL 要不可能会出现在调用 rt_system_scheduler_init() 之前调用rt_thread_self() 时可能会不等于RT_NULL,当然在程序一开始进行堆栈初始化时全部初始化为0,可能会没有问题。 回复【2楼】questioner
-----------------------------------------------------------------------
不存在你说的这个问题,属于没赋值的全局变量(.bss),初始值肯定是0的。
页:
[1]