转自: https://blog.csdn.net/y511374875/article/details/77845240

三种方式手动重启Arduino

1.Arduino板上重新编写代码时,Arduino将重新设置 2.Arduino软件中打开串行终端,同时将Arduino板连接到计算机。打开串行终端时,Arduino会自动重置 3.按下复位按钮

两种方式自动重启Arduino

详情见: https://www.theengineeringprojects.com/2015/10/upload-bootloader-atmega328.html

1.使用Arduino板上的RESET引脚以编程方式重新设置Arduino,就是利用一个数字口,代码运行到那的时候就将REST置低 这里利用数字口D2

int Reset = 2;

void setup() {    digitalWrite(Reset, HIGH);   delay(200);   pinMode(Reset, OUTPUT);       Serial.begin(9600);   Serial.println("How to Reset Arduino Programmatically");   delay(200); }

void loop() {   Serial.println("A");   delay(1000);                 Serial.println("B");   delay(1000);                 Serial.println("Now we are Resetting Arduino Programmatically");   Serial.println();   delay(1000);   digitalWrite(Reset, LOW);   Serial.println("Arduino will never reach there.");

}1234567891011121314151617181920212223

2.不使用任何硬件引脚,Arduino有一个名为resetFunc()的内置函数,我们声明函数地址为0,当我们执行此功能时,Arduino将自动重置。

说明: –In this method, we are not gonna use any hardware pin, instead we will do everything in programming. –Arduino has a builtin function named as resetFunc() which we need to declare at address 0 and when we execute this function Arduino gets reset automatically. –So, no need of doing anything in hardware and simply upload the below code in your Arduino board.

void(* resetFunc) (void) = 0;

void setup() {       Serial.begin(9600);   Serial.println("How to Reset Arduino Programmatically");   delay(200); }

void loop() {   Serial.println("A");   delay(1000);                 Serial.println("B");   delay(1000);                 Serial.println("Now we are Resetting Arduino Programmatically");   Serial.println();   delay(1000);   resetFunc();   Serial.println("Arrduino will never reach there.");

} --------------------- 作者:y511374875 来源:CSDN 原文:https://blog.csdn.net/y511374875/article/details/77845240 版权声明:本文为博主原创文章,转载请附上博文链接!

Arduino重置-复位问题的更多相关文章

  1. 「雕爷学编程」Arduino动手做(31)——ISD1820语音模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...

  2. 如何重置电信悦 me 智能网关

    如何重置电信悦 me 智能网关 重置电信网关密码 电信悦 me 智能网关密码忘记了怎么办? 首先,得要知道默认终端配置地址和默认终端配置密码. 可以从无线路由器背面标签得知. 如果不知道密码了,可以通 ...

  3. Arduino 烧写bootloader

    什么是bootloader 一般情况下微处理器写入程序时都通过专门的编程器进行烧写,但是也可以通过在MCU中预先写入一些程序来实现某些基本功能,这些预先写入的程序代码就是bootloader.这样每次 ...

  4. HC-05初探

    catalogue . 蓝牙嗅探抓包 . HC05蓝牙模块AT模式设置 . USB转串口芯片CH340 . 蓝牙小车 1. 蓝牙嗅探抓包 针对蓝牙通信包的嗅探抓包不能直接使用wincap+wiresh ...

  5. 关于飞控下载时候出现avrdude: stk500_getsync(): not in sync: resp=0x00错误的解决方法

    avrdude: stk500_getsync(): not in sync: resp=0x00该问题表述为串口通信失败 经过分析,出现这种情况的原因大致有:1.arduino在IDE下载过程中没有 ...

  6. PHP涉及的所有英文单词

    PHP涉及的所有英文单词拦路虎 PHP再火,也会让一部同学心生畏惧,因为看到编辑器中那一串串英文单词,担心自己英文不好,从而对能学会PHP的决心产生动摇.其实大可不必,英文在学习PHP过程中真的连级别 ...

  7. php学记笔记之函数用途

    echo '<pre>';//格式化输出字符 isset();//判断变量是否存在 array_key_exists('key',$arr);//判断数组下标是否存在 in_array(' ...

  8. USB 3.0规范中译本 第6章 物理层

    本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 6.1 物理层概览 物理层定义超高速总线的信号技术.本章定义超高速物理层的电气要求. 本节定义超高速组件之间 ...

  9. 蓝牙AT模式

      一.蓝牙AT模式设置方式 在通电前按住蓝牙模块黑色按钮,接电,当蓝牙指示灯按每隔两秒闪烁一次时进入AT模式: 有3种设置方式: 1.默认设置 模块工作角色:从模式    串口参数:38400bit ...

随机推荐

  1. python给excel文件加密码,并重新生成文件

    需安装pywin32 pip install pywin32 直接上源码.简单几行就搞定 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. ...

  2. Unity Job System

    https://docs.unity3d.com/Manual/JobSystem.html https://github.com/Unity-Technologies/EntityComponent ...

  3. steam 数据转换

    目录 数组和集合互转 数组转集合 方法一 遍历 方法二 asList 方法三 steam 集合转数组 方法一 循环 方法二 toArray 方法三 steam 小结 string转为Character ...

  4. [PyTorch 学习笔记] 5.1 TensorBoard 介绍

    本章代码: https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson5/tensorboard_methods.py http ...

  5. 实验 1:Mininet 源码安装和可视化拓扑工具

    实验 1:Mininet 源码安装和可视化拓扑工具 一.实验目的 掌握 Mininet 的源码安装方法和 miniedit 可视化拓扑生成工具. 二.实验任务 使用源码安装 Mininet 的 2.3 ...

  6. 解决Maven下载速度缓慢问题

    解决Maven下载速度缓慢问题 第一步:找到自己安装maven的路径,选择setting.xml D:\apache-maven-3.2.2\conf\settings.xml 第二步:打开setti ...

  7. ui自动化--xpath

    xpath //*代表从根节点,查找所有匹配到的元素.在filepath中输入后回车,会发现整个页面所有元素都被虚线选中 //表示跟节点 []代表要用属性定位 @表示要用什么属性 定位完成后,对应页面 ...

  8. swift基本数据类型使用

    swift基本数据类型的使用之一: 字符串的使用 swift String的使用 1.字符串的定义 1> 不可变字符串的定义 2> 可变字符串的定义 2.获取字符串的长度 3.字符串的拼接 ...

  9. Gradle实战(01)--介绍与安装

    前言 本章你将学习到 Gradle的介绍 Gradle的安装 Gradle的hello world 1 Gradle的介绍 Gradle是专注于灵活性和性能的开源构建自动化工具 Gradle构建脚本是 ...

  10. Hadoop演进与Hadoop生态

    1.了解对比Hadoop不同版本的特性,可以用图表的形式呈现. (1)0.20.0~0.20.2: Hadoop的0.20分支非常稳定,虽然看起来有些落后,但是经过生产环境考验,是 Hadoop历史上 ...