STM32
qq_27182175
这个作者很懒,什么都没留下…
展开
-
STM32串口丢失数据
wu原创 2022-11-24 15:51:12 · 1867 阅读 · 0 评论 -
STM32串口打印输出
STM32串口打印原创 2022-10-08 16:47:57 · 384 阅读 · 0 评论 -
rtthread studio入门点亮LED灯
1.生成工程,可以选择基于BSP,也可选择基于芯片。可以创建C++项目,也可以rtt项目2.点击工程目录的RTT设置,使能组件里面的finsh命令和ulog日志模块3.点击保存所有,点击锤子即可编译,点击扳手,输入如下命令,就可以实现生成bin,hex文件4.增加以下代码。帮助菜单,键辅助那里有所有的快捷方式。项目管理器那里有个图标是与编辑器连接,这样点击代码时会自动聚焦到其所在的目录#include <rtthread.h>#define DBG_TAG "main"#def原创 2020-12-16 16:49:49 · 2016 阅读 · 0 评论 -
AStyle妙用
1.自动格式化,对齐操作,这个无需多说2.添加此工具之后,keil编译之后会生成一系列的xx.c.orig xx.h.orig文件。刚好我磁盘出问题了,发现代码都乱了,变成了二进制文件了,打不开,去看看这些orig文件有惊喜,可以找回原来的文件...原创 2020-09-07 13:08:58 · 123 阅读 · 0 评论 -
STM32 IAP升级
前言打开魔术棒,勾选After Build/Rebuild 下面的run #1,在后面输入命令我是通过cube生成的代码,路径就是默认的方法1,显式指明D:\mdk5\ARM\ARMCC\bin\fromelf.exe --bin -o .\project\project.bin .\project\project.axf方法2,makefile自动化变量fromelf --bin -o "$L@L.bin" "#L"很显然方式2更简单方便总结两种方式都可以生成bin文件,建议使用方式原创 2020-07-29 09:20:59 · 198 阅读 · 0 评论 -
STM32cubexmx之SPI通信读写返回的数据一直是0
解决办法方法一方法二有如下两种方法,测试发现都可以解决问题方法一void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle){ GPIO_InitTypeDef GPIO_InitStruct; if(spiHandle->Instance==SPI2) { /* USER CODE BEGIN SPI2_MspInit 0 */ /* USER CODE END SPI2_MspInit 0 */ /* SPI2 clo原创 2020-05-29 22:09:55 · 8121 阅读 · 2 评论 -
SPI通信分析
基本概念SPI是全双工通信,高速CS:片选信号,也叫NSS,有多个SPI从设备就需要多个CS,通常采用软件方式控制SCK:时钟信号,决定通信速度MOSI:主出从入MISO:主入从出接线的时候直接对接就可以,MISO和MOSI不能交叉对接4种模式简单理解:空闲时CLK可以是高电平或者低电平,因为一个CLK周期有2个上升沿和下降沿(一个周期只会采样一次),因此可以在第一个边沿或者第三个边沿采样(奇数,2,4就是偶数边沿),这样总共4种情况.0和3模式常用,具体需要看设备的支持情况初始化完成原创 2020-05-11 15:49:49 · 422 阅读 · 0 评论 -
STM32串口dma发送数据部分字节出错
1.通过STM32cubemx配置时钟,串口参数2.配置串口DMA,normal模式,byte3.打开串口中断(如果不开启串口中断,则程序只能发送一次数据,程序不能判断DMA传输是否完成,USART一直处于busy状态)4.定义局部数组,HAL_UART_Transmit_DMA发送,发现后面几个字节数据错误,把局部数组改为全局数组就没问题。5.HAL_UART_Transmit发送局部或...原创 2020-01-07 13:31:23 · 2987 阅读 · 3 评论 -
STM32 can通信分析
1.用STM32cubemx生成初始化代码,版本为4.27.0,软件包版本为f1系列1.6.1.首先配置时钟,调试口,找到can外设,master mode前面勾选2.j进入configuration,选择connectivity下面的can,进行参数配置,由于can挂载在APB1,所以时钟为APB1的时钟,因此波特率为pclk1/(bs1+bs2+sjw),STM32 bxcan只有这3段。以...原创 2019-10-08 16:23:13 · 1279 阅读 · 0 评论 -
EEPROM---AT24Cxx应用介绍
结论:1、读写AT24CXX芯片,根据容量有多种方式:一、容量为AT24C01~AT24C16,首先发送设备地址(8位地址),再发送数据地址(8位地址),再发送或者接受数据。 二、AT24C32/AT24C64~AT24C512,首先发送设备地址(8位地址),再发送高位数据地址,再发送地位数据地址,再发送或者接受数据。 ...转载 2019-09-25 14:20:15 · 1262 阅读 · 0 评论 -
AT24XX EEPROM读写分析
#不同容量的AT24XX分析##AT24C01~AT21C16,容量分别是128,256,512,1024,2048个字节,读写都是先发设备地址,然后发一个字节的字节地址它们的设备地址如下所示:##AT24C32-AT24C64,容量分别是4096,8192个字节,读写都是先发设备地址,然后发一个字节的高地址,再发一个字节的低地址它们的设备地址如下所示:##AT24C128~AT24C...原创 2019-09-25 14:06:58 · 1618 阅读 · 0 评论 -
STM32 DMA+IDLE实现不定长数据接收
#步骤如下1.打开STM32cubemx,我的版本号是4.27.0,新建工程,选择芯片,例如STM32F103R8T62.左侧使能串口1,sys那里选择serial wire,否则导致后面无法下载程序,配置时钟3.在configuration页面配置DMA,如下所示4.点击生成代码,在keil打开,在HAL_UART_IRQHandler(&huart1);前面添加 UsartR...原创 2019-09-24 15:35:54 · 1858 阅读 · 1 评论