我正在研究不断检查用户输入的固件级别代码:
while (1) {
if (user_input()) {
Handle_user_input()
}
}
当前,此循环导致CPU使用率为100%。我希望找到一种实现sleep()函数的方法,该函数将导致CPU在指定的时间段内进入睡眠或进入某种低功耗模式,以将CPU使用率降低到令人愉悦的水平(接近0%)。
while (1) {
if (user_input()) {
Handle_user_input()
}
sleep(ONE_MILLISECOND);
}
请发送给我您认为可行的sleep()函数的实现。
谢谢。
P.S。如果您希望使用PowerPC汇编语言,请使用'asm volatile(“ your code”);'。
我不确定您要使用哪种PowerPC芯片,但是您可以查看一些开源固件和OS代码以获取灵感。