为什么单片机的程序无休止地循环?

单片机是可编程设备,使用时需要编写满足需要的程序。

每个端口的初始化和配置完成后,C语言程序通常会以while(1){;}的形式进入无限循环。

初始化完成后,微控制器在无限循环中一次又一次地执行程序逻辑。

重置后,它从头开始,并在初始化完成后,再次进入无限循环。

MCU从上到下依次执行程序。

对于计时器配置,端口初始化等,它只需要执行一次,因此初始化内容位于while(1)循环之外,而对于任务,需要将此类需要实时检测的逻辑置于其中一个无限循环,以便微控制器可以继续执行。

单片机的程序分为查询型和中断型。

所谓的查询意味着您需要连续扫描,这会占用更多资源。

并且该中断具有一个中断标志位,只有在设置了该中断标志后才处理​​中断内容,从而节省了资源。

因此,查询由while(1)循环保证。

当微控制器执行主程序时,如果发生中断,它将优先处理中断内容。

处理完成后,将从上一个断点继续执行。

如果发生多个中断,将首先执行优先级较高的中断。

中断嵌套就是这种情况。

SCM文章推荐:SCM可以代替PLC吗?为什么不在工业产品中使用高端CPU?为什么像11.0592M晶体振荡器这样的单片机?为什么RTC时钟像32.768K晶体振荡器?免责声明:本文内容经21ic授权后发布,版权归原作者所有。

该平台仅提供信息存储服务。

本文仅代表作者的个人观点,并不代表该平台的立场。

如有任何疑问,请与我们联系,谢谢!

欢迎您的咨询