前言: stm32是嵌入式MCU开发中最多应用的芯片,很早之前我们开发ST芯一般都是标准库开发,标准库简洁好读,现在要配合CubeMX生成代码,所以官方主推HAL库和LL库,但是HAL代码冗杂很绕,因为出来也不久,有些代码使用之后不是那么好用. 这次我就来分享两个实际使用过程中遇到的两个问题,一个是使用uart的发送中断进行数据发送产生的数组访问越界的问题.一个是stop模式下,dma相关的外设休眠唤醒需要注意重新初始化. 这篇是uart使用的介绍: 作者:良知犹存 转载授权以及围观:欢迎关注微…
A7139 拥有电磁波唤醒以及10mW的发射功率,很easy实现长距离通信,眼下測试有障碍物能够轻松达到300m以上. 通过几天的调试,眼下能够发送随意大小的数据包,大小为1-16KB.所有使用中断收发,效率极高. 添加波特率设置2Kbps-100Kbps随意设置 添加通信信道设置0-255 添加发送功率设置0-7 底层代码 /*************************************************************************************…
STM32的USART组件支持异步.同步.单线半双工.多处理器.IrDA.LIN.SmartCard等模式,本文介绍的是异步即UART模式. 总线通信有三种模型:轮询.中断和DMA.DMA对我来说是陌生的内容,以后单独开篇细讲. HAL HAL把寄存器组组织成组件,组件包含外设的各个寄存器.在USART这里,寄存器不足以描述外设的所有状态,HAL用handle来包装组件.一个handle包含指向组件的指针.初始化参数.状态.与其他组件的链接(如DMA)和内部状态等. 图源ST官方MOOC,打开之…
一.基础认识 (一) 并行通信 原理:数据的各个位同时传输 优点:速度快 缺点:占用引脚资源多,通常工作时有多条数据线进行数据传输 8bit数据传输典型连接图: 传输的数据是二进制:11101010,则通信使用8条线同时进行数据传输,发送端一次性发送8位数据,接收端一次性接收8位数据. (二) 串行通信 原理:数据按位顺序传输 优点:占用引脚资源少 缺点:速度相对较慢,通常工作时只有一条数据线进行数据传输 8bit数据传输典型连接图: 传输的数据是二进制:11101010,则通信使用8条线同时进…
最近笔者开始学习STM32的HAL库,由于以前一直用标准库进行开发,于是发现了HAL库几点好玩的地方,在此分享. 1.句柄在STM32的标准库中,假设我们要初始化一个外设(这里以USART为例)我们首先要初始化他们的各个寄存器.在标准库中,这些操作都是利用固件库结构体变量+固件库Init函数实现的: USART_InitTypeDef USART_InitStructure; USART_InitStructure.USART_BaudRate = bound;//串口波特率 USART_Ini…
转载自:http://www.cnblogs.com/microxiami/p/3752715.html 一.USART简介 通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换.USART利用分数波特率发生器提供宽范围的波特率选择. STM32 的串口资源相当丰富的,功能也相当强劲.STM32F103ZET6 最多可提供 5 路串口,有分数波特率发生器,支持同步单向通信和半双工单线通信,支持LIN(局部互连网),智能卡协议和I…
一.USART简介 通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换.USART利用分数波特率发生器提供宽范围的波特率选择. STM32 的串口资源相当丰富的,功能也相当强劲.STM32F103ZET6 最多可提供 5 路串口,有分数波特率发生器,支持同步单向通信和半双工单线通信,支持LIN(局部互连网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作.它还允许多处理器通信.…
串口的发送接收函数:HAL_UART_Transmit();串口轮询模式发送,使用超时管理机制.HAL_UART_Receive();串口轮询模式发送,使用超时管理机制.HAL_UART_Transmit_IT();串口中断模式发送,HAL_UART_Receive_IT();串口中断模式发送HAL_UART_Transmit_DMA();串口DMA模式发送HAL_UART_Receive_DMA();串口DMA模式发送 串口相关的中断函数:HAL_UART_TxHalfCpltCallback…
一.效果展示 观看演示效果:https://www.bilibili.com/video/BV1dv411Y7x3 使用STM32 HAL库编程 PWM+DMA控制输出,CubeMX生成初始工程 实现全彩音乐灯 WS2812B全彩流水灯效果展示及理论详细讲解 WS2812B的主要用途是在路边的氛围灯,我们在一些公园里看到五彩斑斓闪烁的灯基本都是WS2812为基础的灯带 另外我们还可以通过纯软件延时的方式来控制数据发送,这可以方便程序移植 二. 基础认识 (一)  小理论 WS2812B是一种智能…
截图 描述: l  STM32 HAL库编程 l  使用模拟IIC通信,方便程序移植 l  Python界面编写,蘑菇头的帽子是什么颜色 l  STM32 HAL库串口通信 l  Python界面使用Pygame 视频演示地址:https://www.bilibili.com/video/BV1Sv411a7qq 一. 基础认识 l  工作电压:3.3-5V l  检测距离:3-10mm l  通信方式:IIC,可达400kbit/s l  采集参数:红色,绿色,蓝色(RGB),光照强度 l …