rt_thread_mdelay 的作用是使线程休眠,也就是调用该函数后可以使当前线程挂起一段指定的时间,当这个时间过后,线程会被唤醒并再次进入就绪状态。所以在普通的线程中是可以使用的。
在中断回调函数中不能使用延时,因为中断需要快进快出,如果在中断中使用延时的话会增加中断处理时间,如果有其它低级中断了,就会延误响应中断了,因此所有的中断回调函数尽量不要调用延时函数(或者说不能调用延时函数)。
软件定时器不知道你想在那个地方调用延时函数,因为软件定时器本来就是到达定时的时间后软中断,在软件定时器的回调函数中也不能调用延时函数,通常会在软件定时器的回调函数中释放一个信号量,然后在另一个线程中去获取该信号量,以达到同步的效果。
rt_thread_mdelay 的作用是使线程休眠,也就是调用该函数后可以使当前线程挂起一段指定的时间,当这个时间过后,线程会被唤醒并再次进入就绪状态。所以在普通的线程中是可以使用的。
在中断回调函数中不能使用延时,因为中断需要快进快出,如果在中断中使用延时的话会增加中断处理时间,如果有其它低级中断了,就会延误响应中断了,因此所有的中断回调函数尽量不要调用延时函数(或者说不能调用延时函数)。
软件定时器不知道你想在那个地方调用延时函数,因为软件定时器本来就是到达定时的时间后软中断,在软件定时器的回调函数中也不能调用延时函数,通常会在软件定时器的回调函数中释放一个信号量,然后在另一个线程中去获取该信号量,以达到同步的效果。
举报