文章目录串口简介串口的数据传输奇偶校验STM32的串口特点STM32串口工作原理STM32的串口中断串口1和串口6互相通信(实验)配置外设代码编写时钟树参考资料 串口简介通用异步收发传输器Universal Asynchronous Receiver/Transmitter,UART具有TX和RX俩个信号线可以将数据串行地发送给接收方 串口的数据是按照每一位依次发送的,同时只有一条信号线用
3、DFU度娘了一下,是一个什么标准来的,不是很懂,大伙们就自己查看相关的资料哈4、废话少说,先上两张效果图(我简单的用个RTC的实验做的,至于其他的留给大家了) 图1:战舰开发板进入DFU模式时显示界面,好简单,复杂点的自己折腾去,嘿 图2:这个是DFU升级完APP程序后运行的效果(上面显示的时间日期不准的哈,不要见怪) 大家看到了,很简单的界面,对,简洁得体,呵呵 5、因为记录这个笔记的
转载 4月前
29阅读
概述本教程主要根据官方推荐的教程进行改编,详细信息请参考OTA Downloader软件包STM32 通用 Bootloader本例程的模板使用通用模板环境搭建里面的模板RT-Thread—STM32—FAL库 文末也有我移植好的例程,不过建议大家从头开始移植,加深印象^_^bootloader的制作 文末有我已经做好的Bootloader文件,可供参考打开bootloader制作的
一、前言1、简介  回顾上一篇UART发送当中,已经讲解了如何实现UART的发送操作了,接下来这一篇将会继续讲解如何实现UART的接收操作。2、UART简介  嵌入式开发中,UART串口通信协议是我们常用的通信协议之一,全称叫做通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)。3、准备工作  在UART详解中已经有了详细的说明,按照里面的
STM32从傻子到智障你今天有的时间是后来的你所梦寐以求的,加油哇!通讯协议,百度下,大同小异。USART,通用同步异步收发器 左边引脚部分:TX发送数据输出引脚RX:接收数据输入引脚SCLK发送时钟输出引脚上面寄存器部分:USART_DR包含一个发送用的TDR寄存器和一个接收用的RDR寄存器。 发送时,将TDR寄存器内容发送到移位寄存器,一位位发出。接收时把收到的每一位保存到接收移位寄存器,然后
       以前在学习STM32的时候,看到有的开发板用BootLoader下载程序,觉得脱离下载器程序下载进去挺有意思的,于是就自己琢磨着也做一个,采用RL-TCPnet实现网络通信,还涉及到RTX嵌入式操作系统(不用也行的,没多大必要,因为例程自带RTX所以我用了,注意用RTX前要用注册机添加RTX的注册码)。一、BootLoader的作用 
STM32 OTA升级原理分析程序运行流程正常程序运行流程程序结构程序启动流程含bootloader程序运行流程程序结构含bootloader程序启动流程程序编程重点存储分区常见分区方案无备份区升级有备份区升级AB对称升级有工厂代码区升级TC397 SOTABootloader升级判断处理程序跳转函数APP程序存储地址设置程序中断向量表偏移 程序运行流程正常程序运行流程程序结构正常程序从起始地址
转载 2024-10-21 23:10:33
322阅读
文章目录前言一、使用STM32CubeMX1. 安装固件库2. 工程设置二、USART串口通信1.UART函数库介绍2.线路连接3.代码编写4.测试结果5.软件调试三、总结四、参考资料 前言使用STM32CubeMX实现串口通信硬件:stm32f103c8t6 核心板软件:STM32CubeMX 6.3.0软件:keil5 mdk一、使用STM32CubeMX1. 安装固件库若点击Manage
升级方式启动方式在STM32F10xxx里有三种启动方式:BOOT0BOOT1启动模式说明0X用户闪存存储器用户闪存存储器,也就是flash启动10系统存储器系统存储器自动,用于串口下载11SRAM启动SRAM启动,用于再SRAM中调试代码系统存储器是厂家固化好的一片存储区,地址为0x1FFFF000,具有串口升级的功能,并把程序引导至用户闪存存储区。用户闪存存储区是保存用户代码及数据的存储区吗,
转载 2024-10-24 14:32:46
393阅读
上面理论+实践当初花了3天时间弄完的,但是,当你真正做项目的时候,你会发现,只有上面的这些知识还不够,还有更多的细节要去处理:APP程序怎么跳转到BootLoader程序?APP程序和BootLoader之间是否会互相影响?APP和BootLoader之间如何传递参数?固件更新一到一半,因为某种原因失败了(通信错误、掉电),该如何处理?如何确保更新的APP是你需要的APP,而不是别的一个APP?经
STM32+ESP8266+DHT11通过MQTT协议连接新版ONENET云平台上传数据一、项目介绍二、项目组成三、项目原理图四、云平台产品创建五、修改代码中的参数六、APP参数修改七、成果展示八、资料获取 项目讲解视频新版 云平台搭建视频演示单片机代码修改演示视频APP参数修改实物演示一、项目介绍前段时间ONENET云平台进行了升级更新,此前平台的多协议接入(包含旧版MQTT、HTTP、EDP
STM32升级功能分为2部分,一部分是bootloader程序,另一部分是用户应用程序组成(以STM32F103C8为例来说明 )bootloader工程分析启动文件的复位部分; Reset handler Reset_Handler PROC EXPORT Reset_Handler [WEAK] IMPORT __m
目录前言一、系统架构二、启动配置三、启动流程1.首先复位MCU,获取栈顶指针MSP和PC指针的内容2.根据PC的值找到复位中断处理函数Reset_Handler1.进入中断处理函数Reset_Handler2.进入SystemInit函数3._main函数3.进入main函数总结前言         通过查阅
1、Cubemx 2、stm32Hal库 3、同步串口收发 4、阻塞式收发stm32串口配置过程1、创建工程,详情请看我的第一篇博文2、配置Sys3、查看原理图找到使用的串口所在的引脚4、配置串口工作方式5、生成工程,见上一篇链接链接:6、生成的usart初始化如图7、接下来就是配置主函数了,配置之前我要先讲解两个函数(1)发送函数(2)接收函数8、我的主函数实现的功能是轮询的进行接收,并且在接受
STM32F407 Bootloader Ymodem 协议实现   相信很多人都希望,不开盖就可以对固件进行升级吧,就像手机那些。下文中的bootload就来实现这样的功能。        根据Ymodem协议,实现了一个STM32F407的Bootloader,该Bootloader能使用SecureCRT8中的Send Ymodem协议进行固
转载 2024-03-01 10:52:37
658阅读
本章将实现的功能:     ① STM32F1通过串口和上位机对话;     ② STM32F1在收到上位机发过来的字符串后,原本地返回给上位机。 本章目录:     9.1 STM32串口简介     9.2 硬件设计     9.3 软件设计     9.4 下载验证
官方固件库中的对应函数为:void SystemInit (void) { /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ /* Set HSION bit */ RCC->CR |= (uint32_t)0x00000001; /* Reset SW
转载 2024-09-19 07:15:07
93阅读
在最近的ctf比赛中,开始出现以stm32系列固件分析为代表的物联网安全类题目,由于这类问题涉及到嵌入式硬件、嵌入式系统等多方面的知识,未来出题、研究空间都非常广阔,这次就让我们借助题目一起来学习一下。由于考研失踪了很久,很多联系我的同学我也没能回复,希望大家原谅,之后一段时间我就正式回来啦。啥是stm32STM32是一种功能强大的32位的单片机,它基于低功耗的ARM内核,由于它采取的
 fat文件系统的所有外部接口都在ff.h中物理驱动器、逻辑驱动器一个物理驱动器就是一个真实的存储设备,例如一个硬盘、一个内存卡。逻辑驱动器就是一个虚拟概念,一个硬盘可以分成CDEF共4个盘,每个盘就是一个逻辑驱动器。在FAT源码中有个宏 _VOLUMES,这个宏被用于配置FAT源码支持多少个逻辑驱动器。具体要配置成多少,看业务需求。FAT源码中有个全局指针数组如上*FatFs,这个指针
前言在单片机方面,针对于通讯常用的协议之一modbus,这里将modbus协议和硬件之间的关系完全独立出来,硬件和协议之间的联系采用的是回调的方式进行一个关联。说明1、此协议可直接移植,并不需要关心硬件相关的。 2、modbus相关协议概念自行查找,本文只做代码的实现。代码宏定义(modbus_core_define)modbus_core_define.h此头文件定义枚举和回调以及相关的功具类#
  • 1
  • 2
  • 3
  • 4
  • 5