当前位置:网站首页>单片机蓝牙无线烧录
单片机蓝牙无线烧录
2022-07-06 09:17:00 【XlinliY.Zhang】
一、 为什么需要蓝牙无线烧录
当我们把单片机开发板、或者使用自制系统板安装到设备上后,要进行重新烧录总要拖着一条长长USB线,特别是对于一些开发板,例如Arduino pro mini这种不带USB to TTL的开发板,更是要拉着好几根杜邦线进行烧录,还会面临接触不良的问题,特别特别麻烦。所以,使用一片HC-05或者HC-06实现蓝牙通讯的同时,还能实现稳定的烧录,岂不是一件美滋滋的事。
在之前学习Arduino蓝牙烧录的时候了解到这篇文章:通过蓝牙模块无线上传Arduino程序
但这篇文章的方法同Arduino Pro Mini的烧录方式一样(不使用DTR),都需要进行手动复位,使单片机进入BL,编译简单的程序你还可以在旁边等待开始上传,然后按下复位按键,成功烧录。
但是!!!!
如果遇到项目比较大(Arduino IDE编译出了名的慢)的程序,如果编译几分钟,你们看到,错过了时机,一首凉凉送给你。所以,在把凉凉背下来的时候,搞出了自动烧录这玩意。
二、如何实现蓝牙无线烧录
无线烧录的大体流程就是,检测到连接,复位单片机,转发电脑数据和单片机数据交互,完成烧录。
以下是了解系统工作原理的基础知识:
(1)对于Arduino IDE(没测试过,不确定Windows下的蓝牙串口是打开再连接蓝牙还是),使用串口监视器或进行烧录,会断开蓝牙连接,再重新连接,发送/接收数据,这点很重要,这个电路的原理就是利用烧录时候连接蓝牙,蓝牙模块的连接指示进行烧录的。
(2)电容具有隔离直流通交流的作用,单片机的复位都是需要一个高(低)电平脉冲来进行复位的,如果一直拉高(拉低)单片机复位引脚,则单片机无法正常工作。所以,使用电容来把持续的电平信号转换为单个脉冲信号显得尤为重要。
(3)蓝牙透传模块可以把电脑的串口数据按照模块设置好的波特率发送过去,动都不动的那种。
三、需要的材料
(1)HC-05\06 一块
(2)S8050 一颗
(3)104电容一颗(如果板载DTR引脚,可以不用这颗电容)
(4)1K电阻2个
(5)连接线材若干、面包板一块(如何连接就八仙过海各显神通了哈)
四、原理图
简简单单的原理图
五、具体操作
(1)设置蓝牙模块:蓝牙模块设置过程很简单,只需要设置对应的波特率,把波特率设置为和开发板BL需要的波特率一样就行。
以下是部分Arduino波特率设置参考
UNO、MEGA2560:115200
atmega328:57600
atmega168,atmega8 :19200
具体操作为,按住蓝牙模块EN按钮,使用USB转TTL连接电脑,使用串口监视器波特率38400发送AT返回AT则表明成功进入AT模式,需要用到AT指令为:
AT+UART=115200,1,2
(2)搭建电路:这部分没什么好说的,就是按照原理图连连看就完事了。
(3)蓝牙连接电脑:打开电脑蓝牙,搜索蓝牙模块(蓝牙模块要通电),输入配对码(不是0000,就是1234),然后点“更多蓝牙选型”,COM端口,记住方向为传出的COM号,Arduino或者其他软件使用此串口号即可通讯。
六、演示
由于年少时对元器件功能理解不透彻,做了个贼复杂的电路,视频里的电路也能用,就是太复杂了
边栏推荐
- Minio文件下载问题——inputstream:closed
- Bubble sort [C language]
- Redis 缓存更新策略,缓存穿透、雪崩、击穿问题
- Embedded startup process
- ESP学习问题记录
- ESP learning problem record
- Amba, ahb, APB, Axi Understanding
- There are three iPhone se 2022 models in the Eurasian Economic Commission database
- RuntimeError: cuDNN error: CUDNN_ STATUS_ NOT_ INITIALIZED
- JS数组常用方法的分类、理解和运用
猜你喜欢

Mp3mini playback module Arduino < dfrobotdfplayermini H> function explanation

RT-Thread API参考手册

AMBA、AHB、APB、AXI的理解

Basic operations of databases and tables ----- classification of data
![Detailed explanation of Union [C language]](/img/d2/99f288b1705a3d072387cd2dde827c.jpg)
Detailed explanation of Union [C language]

STM32 how to locate the code segment that causes hard fault
![Several declarations about pointers [C language]](/img/9b/ace0abbd1956123a945a98680b1e86.png)
Several declarations about pointers [C language]

Basic operations of databases and tables ----- creating data tables

AMBA、AHB、APB、AXI的理解

Common properties of location
随机推荐
FreeRTOS 任务函数里面的死循环
Rough analysis of map file
Amba, ahb, APB, Axi Understanding
荣耀Magic 3Pro 充电架构分析
Walk into WPF's drawing Bing Dwen Dwen
Priority inversion and deadlock
js 变量作用域和函数的学习笔记
GCC compilation options
Several declarations about pointers [C language]
There are three iPhone se 2022 models in the Eurasian Economic Commission database
JS regular expression basic knowledge learning
Arduino JSON data information parsing
Important methods of array and string
Cannot change version of project facet Dynamic Web Module to 2.3.
History object
Pat 1097 duplication on a linked list (25 points)
Common properties of location
OPPO VOOC快充电路和协议
Vscode basic configuration
Esp8266 uses Arduino to connect Alibaba cloud Internet of things