搜索

[其他] 单片机的死循环有什么作用

[复制链接]
82|7
 楼主 | 2021-1-5 09:22 | 显示全部楼层 |阅读模式
单片机是可编程器件,在使用时需要编写满足需求的程序。其C语言程序在各个端口、配置初始化完成后,会进入一个死循环,一般用while(1){;}的形式。初始化完成后,单片机就在死循环内一遍又一遍的执行程序逻辑。复位后,就从头开始,初始化完成后,再次进入死循环。          单片机在执行程序是从上到下一条一条语句执行的,对于定时器的配置、端口的初始化等内容,只需要执行一次就可以,所以初始化内容放在while(1)循环之外,而对于任务之类需要实时检测的逻辑就需要放在死循环内,让单片机不停的去执行。
单片机的程序分为查询式和中断式。所谓查询,就是需要不停的去扫描,比较耗费资源;而中断具有中断标志位,只有中断标志位置位后才去处理中断内容,比较节省资源。所以,查询就是通过while(1)循环来保证的。
699705ff3bf3cbef45.png
单片机在执行主程序时,如果发生了中断,则会优先处理中断内容,处理完成后再从刚才的断点处继续执行,如果发生了多个中断,则先执行中断优先级较高的中断。

使用特权

评论回复
| 2021-1-8 10:31 | 显示全部楼层
学习了。

使用特权

评论回复
| 2021-1-10 12:29 | 显示全部楼层
讲的真不错 通俗易懂

使用特权

评论回复
| 2021-1-14 09:20 | 显示全部楼层
适合初学小菜

使用特权

评论回复
| 2021-1-14 22:17 | 显示全部楼层
所谓查询,就是需要不停的去扫描,比较耗费资源;而中断具有中断标志位,只有中断标志位置位后才去处理中断内容,比较节省资源。所以,查询就是通过while(1)循环来保证的。
是的但实际中状态机就是最好的办法,状态机加中段相当的方便

使用特权

评论回复
| 2021-1-15 09:33 | 显示全部楼层

小菜来学习了。

使用特权

评论回复
| 2021-1-15 17:10 | 显示全部楼层
通俗易懂,讲的真不错。学习了。

使用特权

评论回复
| 2021-1-15 17:51 | 显示全部楼层
用简单的话,讲的通俗易懂,很不错,很不错的。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表