单片机是可编程设备,使用时需要编写满足需要的程序。
每个端口的初始化和配置完成后,C语言程序通常会以while(1){;}的形式进入无限循环。
初始化完成后,微控制器在无限循环中一次又一次地执行程序逻辑。
重置后,它从头开始,并在初始化完成后,再次进入无限循环。
MCU从上到下依次执行程序。
对于计时器配置,端口初始化等,它只需要执行一次,因此初始化内容位于while(1)循环之外,而对于任务,需要将此类需要实时检测的逻辑置于其中一个无限循环,以便微控制器可以继续执行。
单片机的程序分为查询型和中断型。
所谓的查询意味着您需要连续扫描,这会占用更多资源。
并且该中断具有一个中断标志位,只有在设置了该中断标志后才处理中断内容,从而节省了资源。
因此,查询由while(1)循环保证。
当微控制器执行主程序时,如果发生中断,它将优先处理中断内容。
处理完成后,将从上一个断点继续执行。
如果发生多个中断,将首先执行优先级较高的中断。
中断嵌套就是这种情况。
SCM文章推荐:SCM可以代替PLC吗?为什么不在工业产品中使用高端CPU?为什么像11.0592M晶体振荡器这样的单片机?为什么RTC时钟像32.768K晶体振荡器?免责声明:本文内容经21ic授权后发布,版权归原作者所有。
该平台仅提供信息存储服务。
本文仅代表作者的个人观点,并不代表该平台的立场。
如有任何疑问,请与我们联系,谢谢!