Asa*_*sad 2 c while-loop embedded-linux
我想知道为什么我们为什么在大多数c程序的末尾都包含一个空的while(1)循环,例如电机驱动器,陀螺仪传感器程序?我搜查了但没有找到任何令人满意的理由.
谢谢.
例如,在ATmega8上的代码:
#include <avr/io.h>
#include <util/delay.h>
void main (void)
{
int n = 1;
DDRB = 0xFF;
for (n=1; n<=10; ++n)
{
PORTB = 0x00;
_delay_ms(1000);
PORTB = 0XFF;
}
while (1)
{}
}
Run Code Online (Sandbox Code Playgroud)
许多嵌入式系统使用定时器,中断或其他事件来驱动其操作.他们也可能运行操作系统,提供可能为他真正工作的表演者设置的线程或任务.因此,一旦初始化完成,main()程序就没有什么可做的了,但是在这样简单的系统中通常没有什么main()可以返回的,所以无限循环使得处理器忙,而没有其他事情发生.
| 归档时间: |
|
| 查看次数: |
2049 次 |
| 最近记录: |