STM32升级功能分为2部分,一部分是bootloader程序,另一部分是用户应用程序组成(以STM32F103C8为例来说明 )bootloader工程分析启动文件的复位部分; Reset handler
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT __m
1 下载协议 1.1 JTAG协议 JTAG全称 joint test action group,边界扫描系统协议;是调试芯片的通用标准协议; 1.2 SWD协议 SWD全称 serial wire debug,串行调试协议;也是调试芯片的通用标准协议;2 SWJ-DP SWJ-DP全称 serial wire/JTAG - debug port,串行和边界扫描系统调试端口;为s
转载
2024-08-14 21:38:14
543阅读
文章目录前言一、使用STM32CubeMX1. 安装固件库2. 工程设置二、USART串口通信1.UART函数库介绍2.线路连接3.代码编写4.测试结果5.软件调试三、总结四、参考资料 前言使用STM32CubeMX实现串口通信硬件:stm32f103c8t6 核心板软件:STM32CubeMX 6.3.0软件:keil5 mdk一、使用STM32CubeMX1. 安装固件库若点击Manage
STM32的串口是相当丰富的,功能也非常强劲。最多可提供5路串口(MiniSTM32使用的是STM32F103RBT6,具有3个串口),有分数波特率发生器、支持单线光通信和半双工单线通讯、支持LIN、智能卡协议和IrDASIR ENDEC规范(仅串口3支持)、具有DMA等。 串口最主要的设置。就是波
转载
2017-06-15 20:11:00
835阅读
2评论
状态寄存器USART_SR的复位值为0x00C0H:即 第七位发送寄存器空TXE=1和第六位发送完成TC=1寄存器为空, TC=1表明发送已完成.此时只要使能了发送空和发送完成中断就可进入中断ISR(所以如果手动发送或者开机状态为接收的要清除这TC标志(TXE不用因为不能通过写1清零))。因此建议的是在初始化时不好启用TXE中断,只在要发送数据(尤其是字符串、数组这样的系列数据)时才启用TXE。在
转载
2016-12-13 13:28:00
364阅读
2评论
本章将实现的功能: ① STM32F1通过串口和上位机对话; ② STM32F1在收到上位机发过来的字符串后,原本地返回给上位机。
本章目录: 9.1 STM32串口简介 9.2 硬件设计 9.3 软件设计 9.4 下载验证
1、Cubemx 2、stm32Hal库 3、同步串口收发 4、阻塞式收发stm32串口配置过程1、创建工程,详情请看我的第一篇博文2、配置Sys3、查看原理图找到使用的串口所在的引脚4、配置串口工作方式5、生成工程,见上一篇链接链接:6、生成的usart初始化如图7、接下来就是配置主函数了,配置之前我要先讲解两个函数(1)发送函数(2)接收函数8、我的主函数实现的功能是轮询的进行接收,并且在接受
目录一. PCB画图生成BOM表网络表1. 建立PCB工程2. 右键工程,检查3. 导入原理图4. 执行变更,然后关闭5.进行元件布局二. 布线(自动布线)1. 准备工作2. 自动布线三. 覆铜四. 电气规则检查五、其它生成logoPCB图输出为Gerber光绘文件 一. PCB画图生成BOM表这是在原理图上生成 点击报告 点击左下角导出,将其保存 可以看到,生成的表格网络表点击“设计”→“工程
转载
2024-09-12 12:09:17
159阅读
串口程序:hal.h#ifndef HAL_H#define HAL_H//输出宏定义//清零#define LED1_OFF GPIO_ResetBits(GPIOA, GPIO_Pin_8)//置一#define LED1_ON GPIO_SetBits(GPIOA, GPIO_Pin_8)#define LED2_OFF GPIO_ResetBits(G
转载
精选
2013-07-10 16:20:52
1761阅读
一、USART简介 通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。 STM32 的串口资源相当丰富的,功能也相当强劲。STM32F103ZET6 最多可提供 5 路串口,有分数波特率发生器,支持同步单向通信和半双工单线通信,支持LIN(局部互连网),智
这里记录一下用STM32Cumebx实现USB虚拟串口的过程,以F072为例大家可以一起学习讨论一下。 1.新建工程 这里选择SW烧录调试,看个人习惯,如果不习惯用SW的你们可以换其他的也行。 我这里因为直接使用MCU的内部时钟就没有勾选RCC了,然后直接配置时钟树,具体如下: USB
转载
2023-07-24 17:58:53
600阅读
概述本教程主要根据官方推荐的教程进行改编,详细信息请参考OTA Downloader软件包STM32 通用 Bootloader本例程的模板使用通用模板环境搭建里面的模板RT-Thread—STM32—FAL库 文末也有我移植好的例程,不过建议大家从头开始移植,加深印象^_^bootloader的制作 文末有我已经做好的Bootloader文件,可供参考打开bootloader制作的
1,开启串口相关的时钟,GPIO,USART的时钟2,配置GPIO,注TX引脚AF的(OD和PP试过都没啥问题),RX浮空输入3,配置USART的结构体,NVIC的分组和结构体成员,4,选择串口通信的中断触发信号;usart_itconfig()确定中断源5,使能串口 CMD函数;注意;USART_GetFlagStatus函数可检测串口标志位,通过检测串口的标志位防止串口掉帧,确保数
原创
2022-12-22 15:11:37
689阅读
//////////////////////////////////////////////////////////////void RCC_Configuration(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RC_APB2Perip
转载
2023-06-16 11:02:19
102阅读
文章目录一、背景知识1. 处理器与外部通信的两种方式2.串行通信的三种传输方式3.串行通信的通信方式二、串口通信基础1.STM32的串口通信接口2.UART异步通信引脚连接方法3.UART异步通信方式特点4.串口异步通信需要定义的参数三、串口通信常用寄存器及相关库函数1.相关寄存器2.常用相关库函数3.波特率计算公式四、串口配置一般步骤1.串口时钟使能,GPIO时钟使能2.串口复位3.GPIO端
Stm32串口通信(UART) 串口通信的分类 串口通信三种传递方式 串口通信的通信方式 USART通信 USART异步通信方式特点 USART异步通信 串口通信示例程序 完整的官方示例代码 usart.h #ifndef __USART_H #define __USART_H #include "
转载
2019-03-30 10:40:00
993阅读
2评论
# STM32串口虚拟化
STM32系列微控制器是一款广泛应用于嵌入式系统中的芯片,它具有强大的处理能力和丰富的外设接口。其中,串口是常用的外设之一,可以用于与外部设备进行通信。然而,当需要同时与多个外部设备进行通信时,串口的数量可能不够用。为了解决这个问题,可以使用串口虚拟化技术。
## 什么是串口虚拟化?
串口虚拟化是通过软件模拟多个虚拟串口,将其映射到实际的物理串口上,以实现同时与多个
原创
2023-09-09 10:17:30
394阅读
原因一: 初始化串口的波特率与串口调试助手不一致。 原因二: 晶震不一致。 串口输出始终乱码,外部时钟频
原创
2023-11-02 11:06:11
213阅读
STM32串口控制收发模式总结前言公司的很多项目都是使用了串口通信,在我刚毕业来公司的时候,我的固件组同事都还是在使用轮询发送,串口中断接受的方式来进行串口收发,非常的低效。后面自己写项目程序,我开始查找一些串口收发的资料,实现了几种感觉比较好的控制方法,特此总结防止自己失忆。开发环境系统Ubuntu20.04lts;开发工具vscode + makefile + cortex-debug + o
由于调试过程中发现Proteus 8有些许bug,串口中断采用STM32F103RCT6开发板进行讲解前期准备:STM32CubeMXSTM32F103RCT6开发板IDE Keil(MDK-ARM)STM32CubeMX部分 1. 配置时钟选择STM32F103RCTx系列芯片,配置时钟的同时会自动配置IO口引脚将HCLK设置为最大频率72MHz2.配置USART 选择:USART1串口1Bau