主函数一定要有while(1)吗?

2023-05-16

主函数一定要有while(1)吗?

在我两次移植例程时,执行的结果都不对,后来检查发现,缺省了while(1),加上之后结果就正确了,这让我百思不得其解,于是我又各种查资料。

这是各中单片机自身决定的。有的单片机程序内如果没有循环程序,那它会从头执行到最后,然后返回最开始继续执行。而有的单片机再执行一次之后,就会停止。有的则是执行完后可能会进入无序运行状态,程序就跑飞了。main函数不能终止,要一直的循环。

所以,在写或者移植单片机程序的时候,最好是加上while循环,即便程序只运行一次,也要在最后加上while(1);使其一直指向这个语句而不会出现误操作。

while(1)的用处也很多,例如执行流水灯、检测状态位等等,它更多的用法还有待发掘。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

主函数一定要有while(1)吗? 的相关文章

随机推荐

  • IR2101驱动

    下面是datasheet上的内部框图及应用电路 xff1a 由内部框图及输入输出时序图可知 xff1a HIN输入高则HO输出高 xff0c 输入低则输出低 低端也一样 由典型应用电路图分析 xff1a 当HIN LIN同时输入高 xff0
  • Cannot convert a symbolic Tensor to a numpy array错误的解决

    最近写代码的时候发生了一件奇怪的错误 NotImplementedError Cannot convert a symbolic Tensor bert encoder layer 0 attention self strided slic
  • ubuntu进入tty1、tty2等界面的操作

    想要进入tty1或者tty2 xff0c 需要ctrl 43 alt 43 f1 xff0c 注意如果是笔记本电脑 xff0c 需要输入ctrl 43 alt 43 fn 43 f1 xff0c 注意如果tty1界面进入不了的时候 xff0
  • 移植Mavlink协议到STM32F103详细教程

    环境配置 win10系统 43 STM32F103ZET6 步骤 参考MAVLINK官网 1 安装python3 6以上的版本 xff0c 我安装的是python3 8 Python3 8下载地址 详细安装步骤可参考 xff1a pytho
  • pid调试

    1 PID调试步骤 没有一种控制算法比PID 调节规律更有效 更方便的了 现在一些时髦点 的调节器基本源自PID 甚至可以这样说 xff1a PID 调节器是其它控制调节算法的吗 为什么PID应用如此广泛 又长久不衰 xff1f 因为PID
  • MAVLINK协议理解

    mavlink协议的载体是一下格式 xff1a 这是载体格式 这是载体的具体格式说明 mavlink的结构 主要有3部分 mavlink messages 比如 0 心跳包 这个message 就是各种数据帧里的数据 xff0c 例如 xf
  • 关于&0xFF的理解

    做协议解析时候 xff0c 一个byte的0xFE xff0c 直接转化int xff0c 应该是254 xff0c 但是最终结果是 2 xff0c 在网上一查 xff0c 有的人说是因为java用补码表示的byte 网址 xff1a ht
  • tensoflow2.x中tensor转numpy问题

    这里写自定义目录标题 AttributeError 39 Tensor 39 object has no attribute 39 numpy 39 AttributeError Tensor object has no attribute
  • A算法与A*算法区别

    A算法由 f n 61 g n 43 h n 俩个因素决定 xff0c g n 是这一步的代价函数 h n 是这一步的预估函数 xff1b 对于A 算法来说 xff0c 评判函数也是 f n 61 g n 43 h n 这个 xff0c 只
  • PARWAN处理器架构特点

    PARWAN处理器架构特点 PARWAN处理器结构图 xff08 搬运工系列 xff09 各个部分说明 xff1a Applied toCategtoriesSignal Name FunctionallyAC 累加计数器 Register
  • PX4源码学习一--Pix和APM的区别

    pixhawk是硬件平台 xff0c PX4是pixhawk的原生固件 xff0c 专门为pixhawk开发的 APM xff08 Ardupilot Mega xff09 也是硬件 Ardupilot是APM的固件 xff0c 所以称Ar
  • px4源码学习三--px4源码结构分析

    px4源码结构分析 Px4源码目录 cmake xff1a 是存放的 Cmake 编辑脚本文件夹 xff0c 其中 Cmake Configs 是存放的不同硬件的编译脚本 xff0c nuttx mindpx v2 default 是 PI
  • px4源码学习五--固定翼位置控制模块

    fw pos control模块 class landingslope 为固定翼着陆的角度变化模块 calulateSlopeValues void private 更新H1 H0 d1 根据log xff08 H0 H1 xff09 的比
  • px4源码学习六--uORB模块研究

    UORB模块研读 uORB函数解析 xff1a uORB模块 xff08 Micro Object Request Broker xff0c 微对象请求代理器 xff09 uORB是Pixhawk系统中关键的一个模块 xff0c 肩负了数据
  • Ubuntu开机进入busybox

    Ubuntu开机进入busybox 一般是因为ubuntu的文件系统出了问题 xff0c 所以需要在bushbox中进行扫描修复 看一下错误信息 xff0c 然后在busybox的命令行中运行fsck ext4 y dev sda1 xff
  • 关于JAVA文件都在没问题,没有错误提示波浪线,但编译时候提示找不到对应包的问题

    使用springboot做电商网站时候 修改了一点小功能 然后运行不了 提示XX XXX domain XX类找不到等一大堆类都找不到 但是对应包是存在的 而且在编辑框里没有红色的错误提示波浪线 所以 猜测应该不是代码的问题 又因为我们是g
  • c++泛型编程编译问题

    undefined reference to 模板类 c 43 43 泛型编程时候 xff0c 由于 h文件中放声明 xff0c cpp里放实现 xff0c main里调用 xff0c 编译时候 xff0c 就出现这样的问题 解决方法 xf
  • STM32CUBEMX的freertos一般使用方法笔记

    一 使用STM32CubeMX创建FreeRTOS操作系统 LED闪烁的配置 接下来配置时钟 xff0c 点击生成 此处为用户代码编写处 xff1b 开启这个选项便可以使用更加精确的延时 在代码区添加 便可以 xff01 二 任务挂起和取消
  • Qt5之QStatus状态栏

    1 一些常见用法 xff0c 来自其他优秀博文 xff1a https www cnblogs com toby zhang p 5729629 html 2 我这里添加状态了 xff0c 状态栏上放了一个QLabel控件显示时间 创建和添
  • 主函数一定要有while(1)吗?

    主函数一定要有while 1 吗 xff1f 在我两次移植例程时 xff0c 执行的结果都不对 xff0c 后来检查发现 xff0c 缺省了while 1 xff0c 加上之后结果就正确了 xff0c 这让我百思不得其解 xff0c 于是我