标签: STM32

11 篇文章

DMA+串口空闲中断 不定长接收及解析数据
打开DMA通道 按如下设置 mode设置为normal方式,即单次 确认串口中断使能 添加相关代码 使能串口空闲中断,开始第一次DMA接收 找到USART1_IRQHandler函数,加入处理逻辑 if(huart1.Instance == USART1) { if(RESET != __HAL_UART_GET_FLAG(&huart1,…
STM32CubeMX 中文乱码
STM32CubeMX 在 windows 下默认使用 GBK 编码,如果编辑器使用UTF-8编码,使用 STM32CubeMX 重新生成代码后,中文注释会出现乱码。 两种解决办法: * 不写中文注释 * 添加环境变量 显然,第二种方法更实用: 因为 STM32CubeMX 基于 java 运行时,在系统中添加如下环境变量: 变量名:"JAVA_T…
STM32的开源Bootloader框架-RT-FOTA移植
简介 原仓库地址:基于STM32的开源Bootloader框架-RT-FOTA 这是一个基于 RT-Thread 的 STM32 bootloader,兼容 RTT 官方的 rbl 文件,即 RTT 官方的固件打包工具生成的压缩加密文件,具体的介绍可以参见STM32 通用 Bootloader。因为基于 RT-Thread 实时操作系统,此 boo…
RT-Thread STM32 OTA使用
背景 设备在完成开发后,往往后续会有 BUG 修复和功能更新等需求,这就需要对设备固件进行升级,但此时已经无法使用调试器进行烧录,所以给设备加上 OTA 功能显得非常必要。 RT-Thread STM32 通用 Bootloader RT-Thread 为 STM32 提供了通用的 Bootloader,通过网页简单配置即可生成相应的 Bootlo…
Modbus 调试
背景 大量的工业设备基本都支持 RS485 串行协议,包括绝大部分工业传感器,在 RS485 的基础上,支持 ModbusRTU 协议,所以有必要对Modbus进行支持。 Freemodbus Freemodbus 是 armink 大神移植的 Freemodbus 协议栈。同时支持主机和从机的功能。FreeModbus 是一款开源的 Modbus…
Modbus 协议简述
Modbus 主站/从站协议原理 Modbus 串行链路协议是一个主-从协议。在同一时刻,只有一个主节点连接于总线,一个或多个子 节点 (最大编号为 247 ) 连接于同一个串行总线。Modbus 通信总是由主节点发起。子节点在没有收到 来自主节点的请求时,从不会发送数据。子节点之间从不会互相通信。主节点在同一时刻只会发起一个 Modbus 事务处…
RT-Thread 配置片外Flash与EasyFlash组件
背景 由于内部 512KB FLASH 无法空出多的空间来运行 EasyFlash ,所以增加了外置的 W25Q128 存储芯片,容量为 128M Bit,即16M Byte,足够满足需求,并且有足够的空间为后续的 OTA升级、LOG 记录所使用。 配置FLASH bsp 自带了使能外部 spi1 flash的选项,型号也一致,直接打开就可以 在设…
RT-Thread 配置FAL与EasyFlash
背景 根据相关的需求,有时需要将参数等写入非易失存储设备。于是顺其自然就想到了EasyFlash,而EasyFlash在 RT-Thread 上可以很好地对接FAL,于是思路便是先配置 FAL(Flash Abstraction Layer Flash 抽象层),然后再移植 EasyFlash. FAL:Flash 抽象层 介绍 FAL (Flas…
RT-Thread 开发环境配置
Env工具 Env 是 RT-Thread 推出的开发辅助工具,针对基于 RT-Thread 操作系统的项目工程,提供编译构建环境、图形化系统配置及软件包管理功能。 从官网下载 Env 注册Env右键菜单:标题栏右键"settings" 注册完成后可以在任意文件夹右键菜单打开Env 下载RT-Thread源码,进入 bsp 目录,使用 scons …