STM32单片机(九)USART串口----第八节:FlyMcu串口下载

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。
☀️ 专栏适用人群 :适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋。
🌙专栏目标:实现从零基础入门51单片机和STM32单片机,力求在玩好单片机的同时,能够了解一些计算机的基本概念,了解电路及其元器件的基本理论等。

⭐️ 专栏主要内容: 主要学习STM32单片机的功能、各个模块、单片机的外设、驱动等,最终玩好单片机和单片机的外设,全程手敲代码,实现我们所要实现的功能。
🌴 专栏说明 :如果文章知识点有错误的地方,欢迎大家随时在文章下面评论,我会第一时间改正。让我们一起学习,一起进步。
💑专栏主页:http://t.csdn.cn/HCD8v

本学习过程参考:https://space.bilibili.com/383400717

STM3单片机安装软件、各种资料以及源码的路径:
链接:https://pan.baidu.com/s/1snD0uuTfMhchFqOMWvAiHA?pwd=asdf#list/path=%2F
提取码:asdf

链接里压缩包的解压密码:32

本大节主要学习USART的相关知识,包含九小节:
第一小节主要学习USART串口协议的理论基础知识
第二小节主要学习USART串口外设的理论基础知识
第三小节是对第一、二小节的内容写一个串口发送程序进行练习
第四小节是对第一、二小节的内容再写一个串口发送+接收的程序进行练习
第五小节主要学习USART串口数据包的理论基础知识
第六小节是对第五小节的内容写一个串口收发HEX数据包程序进行练习
第七小节是对第五小节的内容再写一个串口收发文本数据包程序进行练习
第八小节主要了解FlyMcu串口下载的知识
第九小节主要了解STLINK Utility串口下载的知识
最终附上所有的源代码;

本小节主要了解MyMcu串口下载的知识。
FlyMcu这个软件可以通过串口给STM32下载程序;如果没有STLINK,就可以用这个软件通过串口下载程序;

1 软件路径

该软件存放在STM32入门教程资料\工具软件\FlyMcu程序烧录软件中,如下图所示:
在这里插入图片描述

2 工具介绍

工具页面如下所示:
在这里插入图片描述

这个软件是绿色软件,直接打开就能运行,不需要安装;
该工具可以进行串口下载程序;

3 串口下载流程

  • 首先硬件方面,需要连接一个串口的电路,这个电路要能保证USART1和电脑进行串口通信,注意必须要是USART1;

3.1 硬件接线

硬件接线图如下所示:

在这里插入图片描述

3.2 软件配置

  • 在软件方面,勾选穿件HEX文件
    在这里插入图片描述
    然后编译工程,会发现编译信息里多了一个创建HEX文件的信息:

在这里插入图片描述

然后该工程目录的Objects文件夹下,找到刚刚生成的HEX文件,这就是我们串口下载所需的程序文件:

在这里插入图片描述

然后打开FlyMcu,配置如下:

在这里插入图片描述

然后点击上图三个点,选择刚刚生成的HEX文件,然后其他配置保持默认,如下图所示:

在这里插入图片描述

3.3 BOOT引脚配置

然后配置BOOT引脚,让STM32执行BootLoader程序:
跳线帽如下所接:

在这里插入图片描述
然后按一下复位键,让程序重新开始运行,这样芯片就进入BootLoader刷机程序了;

进入到BootLoader程序之后,STM32执行的程序就是不断接收USART1的数据,刷新到主闪存

3.4 串口程序下载

再回到FlyMcu软件,点击开始编程,这时就可以看到,下载过程成功运行,最后显示下载完成:

在这里插入图片描述
这样,我们LED闪烁的程序,就通过BOotLoader,成功刷新到主闪存里了;

3.5 换回正常模式

调节BOOT引脚跳线帽,换回原来的状态,如下所示:

在这里插入图片描述
可以看到,LED闪烁了,说明程序下载进去了;

4 BootLoader详解

4.1 BootLoader是什么

BootLoader是ST公司写好的程序,用途是程序自我更新,串口下载;BootLoader存放在0x1FFFF000地址,如下图所示:
在这里插入图片描述
BootLoader接收USART1的数据,刷新到程序存储器,更新好之后再启动主程序,执行新程序;这就是串口下载流程;

4.2 如何启动Boot模式

在这里插入图片描述

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
STM32单片机可以通过串口通信控制HC-05蓝牙模块。 具体步骤如下: 1. 在STM32单片机上配置串口,设置波特率、数据位、停止位等参数。 2. 将HC-05蓝牙模块与STM32单片机通过串口连接。 3. 在STM32单片机上编写程序,通过串口发送AT指令控制HC-05蓝牙模块。 4. HC-05蓝牙模块收到指令后执行相应的操作,比如连接蓝牙设备、发送数据等。 下面是一个简单的示例代码: #include "stm32f10x.h" #include "stdio.h" void USART1_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure); USART_InitStructure.USART_BaudRate = 9600; USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; USART_Init(USART1, &USART_InitStructure); USART_Cmd(USART1, ENABLE); } void USART1_SendChar(char ch) { while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET); USART_SendData(USART1, (uint8_t)ch); } void USART1_SendString(char* str) { while (*str) { USART1_SendChar(*str++); } } int main(void) { USART1_Config(); // 发送AT指令,查询HC-05蓝牙模块名称 USART1_SendString("AT+NAME?\r\n"); while (1) { } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘凉~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值