STM32
文章平均质量分 87
STM32嵌入式开发
PegasusYu
化繁为简,由简入巧
展开
-
STM32存储左右互搏 QSPI总线读写64 Mbit容量SRAM VTI7064
QSPI(Quad-SPI)设备有两种常见操作模式,一种QSPI设备上电后直接进入QSPI模式,操作时命令,地址和数据都是多线传输。另一种QSPI设备上电后进入常规SPI操作模式,可以通过发送SPI指令,切换设备进入QSPI模式,之后也可以发送QSPI指令切换回SPI模式,故这种设备可以工作在数据率较低的SPI模式,也可工作在数据率更高的QSPI模式。原创 2024-07-23 11:01:33 · 1217 阅读 · 0 评论 -
STM32CUBEIDE FreeRTOS操作教程(一):LED闪灯
STM32CUBEIDE(不是STM32CUBEMX)开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例,只用到USB,USART1极少的接口,体现FreeRTOS的各种操作过程。操作教程(一)配置FreeRTOS及相关环境,实现LED闪灯功能。FreeRTOS的教程较多,推荐参考正点原子所出的了解相关知识。原创 2024-07-23 10:53:53 · 1090 阅读 · 0 评论 -
STM32存储左右互搏 模拟U盘桥接QSPI总线FATS读写FLASH W25QXX
W25QXX的SOIC封装如下所示,在采用QUAL SPI而不是SPI时,管脚定义为:即由片选(/CS), 时钟(CLK), 双向4根输入输出线(IO0, IO1, IO2, IO3)组成6线QSPI信号接口。VCC和GND提供电源和接地连接。例程采用STM32H750VBT6芯片, FLASH可以选择为8/16/32/64/128/256/512/1024 Mbit的W25Q型号。原创 2024-06-26 10:04:31 · 1120 阅读 · 0 评论 -
STM32存储左右互搏 模拟U盘桥接SPI总线FATS读写FLASH W25QXX
W25QXX的SOIC封装如下所示,在采用SPI而不是QUAL SPI时,管脚定义为:即由片选(/CS), 时钟(CLK), 数据输出(DO)和数据输入(DI)的组成4线SPI信号接口。VCC和GND提供电源和接地连接。例程采用STM32H750VBT6芯片, FLASH可以选择为8/16/32/64/128/256/512/1024 Mbit的W25Q型号。例程实现可以通过U盘形式和串口控制双方式对FLASH内的文件进行操作,实现可交换操作的特性。原创 2024-06-12 09:56:59 · 1204 阅读 · 0 评论 -
STM32 UART串口数据接收策略
串口是常见的数据通讯接口,需要在不同的应用场景下选择特定的数据接收模式,才能可靠的接收和处理数据。这里介绍常用简化串口即只有TX/RX连接的串口通讯接收策略。原创 2024-05-27 09:42:11 · 1071 阅读 · 0 评论 -
STM32存储左右互搏 USB接口FATS文件读写U盘
常见的USB接口电路部分相似而有不同的连接器应用,连接器有USB-A, USB-MINI, USB-MICRO, USB-TYPEC等。除了USB-A可以直接插入U盘,其它连接器可以通过转接板和转接线和U盘连接。如果用USB-TYPEC公头的U盘,则可以直接插入USB-TYPEC母座的主机。常见USB-TYPEC接口电路如下:去繁化简,主要是5V电源输入,接地,差分信号+ (DP), 差分信号- (DN)4个有效连接。对于STM32, DP连接到了PA12管脚, DN连接到了PA11管脚.原创 2024-05-13 09:59:36 · 1351 阅读 · 0 评论 -
STM32存储左右互搏 SDIO总线FATS文件读写SD/MicroSD/TF卡
SD/MicroSD/TF卡是基于FLASH的一种常见非易失存储单元,由接口协议电路和FLASH构成。市面上由不同尺寸和不同容量的卡,手机领域用的TF卡实际就是MicroSD卡,尺寸比SD卡小,而电路和协议操作则是一样。这里介绍STM32CUBEIDE开发平台HAL库SDIO总线FATS文件操作读写SD/MicroSD/TF卡的例程。原创 2024-04-22 10:11:00 · 1294 阅读 · 0 评论 -
STM32存储左右互搏 SDIO总线读写SD/MicroSD/TF卡
SD/MicroSD/TF卡是基于FLASH的一种常见非易失存储单元,由接口协议电路和FLASH构成。市面上由不同尺寸和不同容量的卡,手机领域用的TF卡实际就是MicroSD卡,尺寸比SD卡小,而电路和协议操作则是一样。这里介绍STM32CUBEIDE开发平台HAL库SDIO总线操作SD/MicroSD/TF卡的例程。原创 2024-04-08 09:56:07 · 1380 阅读 · 0 评论 -
STM32存储左右互搏 SPI总线FATS文件读写SD/MicroSD/TF卡
SD/MicroSD/TF卡是基于FLASH的一种常见非易失存储单元,由接口协议电路和FLASH构成。市面上由不同尺寸和不同容量的卡,手机领域用的TF卡实际就是MicroSD卡,尺寸比SD卡小,而电路和协议操作则是一样。这里介绍STM32CUBEIDE开发平台HAL库SPI总线FATS文件操作读写SD/MicroSD/TF卡的例程。原创 2024-03-25 09:48:33 · 1453 阅读 · 0 评论 -
STM32存储左右互搏 SPI总线读写SD/MicroSD/TF卡
SD/MicroSD/TF卡是基于FLASH的一种常见非易失存储单元,由接口协议电路和FLASH构成。市面上由不同尺寸和不同容量的卡,手机领域用的TF卡实际就是MicroSD卡,尺寸比SD卡小,而电路和协议操作则是一样。这里介绍STM32CUBEIDE开发平台HAL库SPI总线操作SD/MicroSD/TF卡的例程。原创 2024-03-11 09:47:29 · 1917 阅读 · 0 评论 -
STM32存储左右互搏 QSPI总线FATS文件读写FLASH W25QXX
W25QXX的SOIC封装如下所示,在采用QUAL SPI而不是SPI时,管脚定义为:即由片选(/CS), 时钟(CLK), 双向4根输入输出线(IO0, IO1, IO2, IO3)组成6线QSPI信号接口。VCC和GND提供电源和接地连接。例程采用STM32H750VBT6芯片, FLASH可以选择为8/16/32/64/128/256/512/1024 Mbit的W25Q型号。原创 2024-02-26 09:54:43 · 854 阅读 · 0 评论 -
STM32存储左右互搏 QSPI总线读写FLASH W25QXX
W25QXX的SOIC封装如下所示,在采用QUAL SPI而不是SPI时,管脚定义为:即由片选(/CS), 时钟(CLK), 双向4根输入输出线(IO0, IO1, IO2, IO3)组成6线QSPI信号接口。VCC和GND提供电源和接地连接。例程采用STM32H750VBT6芯片, FLASH可以选择为8/16/32/64/128/256/512/1024 Mbit的W25Q型号。原创 2024-02-01 13:26:28 · 1235 阅读 · 0 评论 -
STM32存储左右互搏 SPI总线FATS读写FRAM MB85RS2M
在中低容量存储领域,除了FLASH的使用,,还有铁电存储器FRAM的使用,相对于FLASH,FRAM写操作时不需要预擦除,所以执行写操作时可以达到更高的速度,其主要优点为没有FLASH持续写操作跨页地址需要变换的要求。相比于SRAM则具有非易失性, 因此价格方面会高一些。MB85RS2M是256K Byte(2M bit)的FRAM,能够按字节进行写入且没有写入等待时间。其管脚功能兼容FLASH:这里介绍STM32 FATS文件操作方式访问FRAM MB85RS2M的例程。原创 2024-01-15 08:00:57 · 1188 阅读 · 0 评论 -
STM32存储左右互搏 SPI总线读写FRAM MB85RS2M
在中低容量存储领域,除了FLASH的使用,,还有铁电存储器FRAM的使用,相对于FLASH,FRAM写操作时不需要预擦除,所以执行写操作时可以达到更高的速度,其主要优点为没有FLASH持续写操作跨页地址需要变换的要求。相比于SRAM则具有非易失性, 因此价格方面会高一些。MB85RS2M是512K Byte(2M bit)的FRAM,能够按字节进行写入且没有写入等待时间。其管脚功能兼容FLASH:这里介绍STM32访问FRAM MB85RS2M的例程。原创 2024-01-02 08:21:18 · 1452 阅读 · 0 评论 -
STM32/STM8资源节约主义编程方式
实现最简化资源占用代码设计时,如果没有时序要求高的情况,可以用微秒延时函数模拟所有常规接口协议。如果有时序要求高的情况,可以用TIM配合实现所有常规接口协议,只用到TIM这一种官方库代码。如果MCU资源足够,用官方库代码可以减少一些模拟协议代码编程量,所以本篇内容的介绍,多用在资源少的场景。–End–原创 2023-12-18 08:02:41 · 1348 阅读 · 0 评论 -
STM32存储左右互搏 SPI总线读写FRAM MB85RS16
在中低容量存储领域,除了FLASH的使用,,还有铁电存储器FRAM的使用,相对于FLASH,FRAM写操作时不需要预擦除,所以执行写操作时可以达到更高的速度,其主要优点为没有FLASH持续写操作跨页地址需要变换的要求。相比于SRAM则具有非易失性, 因此价格方面会高一些。MB85RS16是2K Byte(16K bit)的FRAM,能够按字节进行写入且没有写入等待时间。原创 2023-12-04 08:19:57 · 641 阅读 · 0 评论 -
STM32存储左右互搏 SPI总线FATS文件读写FLASH W25QXX
W25QXX的SOIC封装如下所示,在采用SPI而不是QUAL SPI时,管脚定义为:即由片选(/CS), 时钟(CLK), 数据输出(DO)和数据输入(DI)的组成4线SPI信号接口。VCC和GND提供电源和接地连接。例程采用STM32H750VBT6芯片, FLASH可以选择为8/16/32/64/128/256/512/1024 Mbit的W25Q型号。原创 2023-11-20 09:40:48 · 688 阅读 · 0 评论 -
STM32存储左右互搏 SPI总线读写FLASH W25QXX
W25QXX的SOIC封装如下所示,在采用SPI而不是QUAL SPI时,管脚定义为:即由片选(/CS), 时钟(CLK), 数据输出(DO)和数据输入(DI)的组成4线SPI信号接口。VCC和GND提供电源和接地连接。例程采用STM32H750VBT6芯片, FLASH可以选择为8/16/32/64/128/256/512/1024 Mbit的W25Q型号。原创 2023-11-06 08:05:27 · 697 阅读 · 0 评论 -
STM32实现USB转TTL串口工具
具有USB接口和UART接口的STM32芯片,如STM32F1, STM32F4等等,都可以实现USB转TTL串口工具的制作。目前具有USB接口的最小资源的芯片是STM32F103C6T6。这里介绍USB转UART的代码设计。STM32例化的USB VCOM,数据通讯到STM32内部设定的缓存空间,如果不向外部进行UART转发,则VCOM的波特率为名义上的波特率,实际上是按照USB接口自动协商的差分速率在进行数据传输。原创 2023-10-23 08:31:04 · 3277 阅读 · 1 评论 -
STM32存储左右互搏 I2C总线FATS读写FRAM MB85RC1M
在较低容量存储领域,除了EEPROM的使用,还有铁电存储器FRAM的使用,相对于EEPROM, 同样是非易失性存储单元,FRAM支持更高的访问速度, 其主要优点为没有EEPROM持续写操作跨页地址需要变换的要求,没有写之后的延时等待要求。MB85RC1M是128K Byte(1M bit)的FRAM,能够按字节进行写入且没有写入等待时间。其管脚功能兼容相应容量的EEPOM:这里介绍STM32 通过文件系统FATS访问FRAM MB85RC1M的例程。原创 2023-10-09 09:13:38 · 307 阅读 · 1 评论 -
STM32存储左右互搏 I2C总线读写FRAM MB85RC1M
在较低容量存储领域,除了EEPROM的使用,还有铁电存储器FRAM的使用,相对于EEPROM, 同样是非易失性存储单元,FRAM支持更高的访问速度, 其主要优点为没有EEPROM持续写操作跨页地址需要变换的要求,没有写之后的延时等待要求。MB85RC1M是128K Byte(1M bit)的FRAM,能够按字节进行写入且没有写入等待时间。其管脚功能兼容相应容量的EEPOM:这里介绍STM32访问FRAM MB85RC1M的例程。原创 2023-09-25 09:21:19 · 645 阅读 · 0 评论 -
STM32PROGRAMMER “UR connection mode is defined with the HWrst reset mode“报错解决
在采用STM32PROGRAMMER出现 "UR connection mode is defined with the HWrst reset mode"报错时,是无法进行连接下载代码的,原因并非是硬件复位方式或者软件复位方式的问题。原创 2023-09-11 13:55:38 · 2786 阅读 · 1 评论 -
STM32存储左右互搏 I2C总线读写FRAM MB85RC16
在较低容量存储领域,除了EEPROM的使用,还有铁电存储器FRAM的使用,相对于EEPROM, 同样是非易失性存储单元,FRAM支持更高的访问速度, 其主要优点为没有EEPROM持续写操作跨页地址需要变换的要求,没有写之后的延时等待要求。MB85RC16是2K Byte(16K bit)的FRAM,能够按字节进行写入且没有写入等待时间。其管脚功能兼容相应容量的EEPOM:I2C总线访问的FRAM更大容量的型号还有MB85RC128及MB85RC256等。原创 2023-09-04 09:09:57 · 1602 阅读 · 2 评论 -
STM32存储左右互搏 I2C总线FATS读写EEPROM ZD24C1MA
在较低容量存储领域,EEPROM是常用的存储介质,可以通过直接或者文件操作方式进行读写。不同容量的EEPROM的地址对应位数不同,在发送字节的格式上有所区别。EEPROM是非快速访问存储,因为EEPROM按页进行组织,在连续操作模式,当跨页时访问地址不是跳到下一页到开始,而是跳到当前页的首地址,因此跨页时要重新指定起始地址。而在控制端发送写操作I2C数据后还需要有等待EEPROM内部操作完成的时间才能进行下一次操作。原创 2023-08-16 11:02:14 · 1130 阅读 · 0 评论 -
STM32存储左右互搏 I2C总线读写EEPROM ZD24C1MA
在较低容量存储领域,EEPROM是常用的存储介质,不同容量的EEPROM的地址对应位数不同,在发送字节的格式上有所区别。EEPROM是非快速访问存储,因为EEPROM按页进行组织,在连续操作模式,当跨页时访问地址不是跳到下一页到开始,而是跳到当前页的首地址,因此跨页时要重新指定起始地址。而在控制端发送写操作I2C数据后还需要有等待EEPROM内部操作完成的时间才能进行下一次操作。原创 2023-08-01 08:41:16 · 1020 阅读 · 0 评论 -
STM32存储左右互搏 I2C总线读写EEPROM AD24C02
在较低容量存储领域,EEPROM是常用的存储介质,不同容量的EEPROM的地址对应位数不同,在发送字节的格式上有所区别。EEPROM是非快速访问存储,因为EEPROM按页进行组织,在连续操作模式,当跨页时访问地址不是跳到下一页到开始,而是跳到当前页的首地址,因此跨页时要重新指定起始地址。而在控制端发送写操作I2C数据后还需要有等待EEPROM内部操作完成的时间才能进行下一次操作。AD24C02是最小容量256个字节的EEPROM, 一页只有8个字节,32页。原创 2023-07-17 08:27:18 · 539 阅读 · 0 评论 -
STM32模拟SPI协议控制数字电位器MCP41010电阻值
MCP41010是单路8位分辨率数字电位器,通过SPI接口可控制电位器阻值分配,相当于PW0端在PA0和PB0之间滑动。如下图所示:MCP41010是10K欧姆规格的数字电位器,即PA0和PB0之间的阻值恒定为10K,PW0与PA0或PW0与PB0之间的阻值互补可配。另外有相关型号不同阻值规格和集成双路的MCP系列数字电位器,其控制原理相同:这里介绍STM32模拟SPI协议控制数字电位器MCP41010的代码范例。采用STM32CUBEIDE开发平台,以STM32F401RCT6为例。原创 2023-07-03 09:00:05 · 3927 阅读 · 6 评论 -
STM32模拟I2C获取TCS34725光学颜色传感器数据
TCS34725是RGB三色颜色传感器,和TCS34727都属于TCS3472系列,在电气特性上略有差别,TCS34727相比TCS34725在I2C总线的访问电平上可以更低,而在I2C软件访问地址方面则一致。TCS3472内部有4个PD(光电二极管),一个接收clear light(净光,未做任何处理),另外三个分别接收Red, Green, Blue的三色光,并且会滤除红外光。原创 2023-06-27 08:28:32 · 4717 阅读 · 0 评论 -
STM32模拟I2C协议获取HDC1080温度和湿度传感器数据
HDC1080是一款温湿度传感器,具有如下特点:其中温度和湿度经过出厂校准。这里介绍STM32模拟I2C总线协议访问HDC1080的HAL库实现范例。原创 2023-06-25 08:17:45 · 1865 阅读 · 1 评论 -
STM32 MCO+SPI获取24位模数转换(24bit ADC)高速芯片ADS1271采样数据
STM32大部分芯片只有12位的ADC采样性能,如果要实现更高精度的模数转换如24位ADC采样,则需要连接外部ADC实现。ADS1271是 TI公司一款高速24位Σ-Δ型模数转换器(ADC) ,数据率达到105K SPS, 即一秒可以采样105000次。这里介绍基于ADS1271的24位ADC采样实现。采用STM32CUBEIDE开发工具,以STM32F401CCU6为例。原创 2023-06-19 09:15:57 · 6869 阅读 · 3 评论 -
STM32管脚模拟协议驱动双路16位DAC芯片TM8211
TM8211是一款国产的低成本双路16位DAC驱动芯片,可以应用于普通数模转换领域及音频转换领域等。这里介绍STM32 HAL库驱动TM8211的逻辑,时序和代码。原创 2023-06-12 08:22:09 · 6182 阅读 · 0 评论 -
STM32模拟I2C协议获取HMC5883L电子罗盘磁角度数据 (HAL)
HMC5883L 传感器采用霍尼韦尔各向异性磁阻(AMR)技术,应用于罗盘和三轴磁场角度检测领域,常用于水平物体转动的角度识别。HMC5883L 采用I2C总线接口,2.16~3.6V供电范围,带有校准测试功能。原创 2023-06-05 09:15:33 · 3348 阅读 · 9 评论 -
STM32读取24位模数转换(24bit ADC)芯片ADS1231数据
ADS1231是一款TI公司出品的24位ADC芯片,常用于与称重传感器配合实现体重计的应用。这里介绍STM32读取ADS1231的电路和代码实现。ADS1231的特点为通过硬件管脚可控制两种采样速率(10SPS和80SPS),及可以控制芯片上下电以实现低功耗过程控制。原创 2023-05-29 13:41:33 · 3215 阅读 · 1 评论 -
STM32 产生随机数方式
C语言的stdlib.h库里的srand(unsigned seed)和rand(void)函数,可以配合产生伪随机数。其中srand(seed)产生算法种子,再由rand()通过算法产生随机数,产生的随机数在宏定义RAND_MAX范围内。如果seed不变,则产生的随机数不变。这里介绍STM32 HAL库环境的随机数产生代码,采用STM32CUBEIDE开发环境,以STM32F103C6T6为例,通过USB虚拟串口将归一化随机数打印出,归一化随机数为0~1之间的浮点值。原创 2023-04-24 08:25:08 · 6069 阅读 · 0 评论 -
C语言CRC-32 STM32格式校验函数
CRC-32校验产生4个字节长度的数据校验码,通过计算得到的校验码和获得的校验码比较,用于验证获得的数据的正确性。不同厂家通过对输入数据前处理和输出数据后处理的方式不同,又产生了不同的厂家校验函数,这里介绍STM32硬件CRC对应格式的CRC-32校验函数。生成多项式为x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x^1 + 1。原创 2023-04-20 08:19:33 · 3536 阅读 · 1 评论 -
C语言CRC-32 MPEG-2格式校验函数
CRC-32校验产生4个字节长度的数据校验码,通过计算得到的校验码和获得的校验码比较,用于验证获得的数据的正确性。不同应用规范通过对输入数据前处理和输出数据后处理的方式不同,又产生了不同的应用规范校验函数,这里介绍MPEG-2格式的CRC-32校验函数。生成多项式为x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x^1 + 1。原创 2023-04-19 08:23:44 · 1097 阅读 · 0 评论 -
STM32 驱动4.3寸TFT LCD 触摸屏
STM32的FSMC接口是并行总线接口,可以用于驱动存储芯片如FLASH/SRAM等,也可以用于驱动并口LCD屏。触摸屏是在显示屏上覆盖一层触摸感应的外屏,有单独的接口输出坐标数据。这里以STM32F103VET6开发板连接4.3寸TFT LCD触摸屏,将正点原子的参考代码,移植到STM32CUBEIDE开发环境,实现TFT LCD屏的触摸效果显示。原创 2023-04-06 08:23:36 · 4347 阅读 · 2 评论 -
STM32 FSMC接口驱动4.3寸TFT LCD屏
STM32的FSMC接口是并行总线接口,可以用于驱动存储芯片如FLASH/SRAM等,也可以用于驱动并口LCD屏。这里以STM32F103VET6开发板连接4.3寸TFT LCD屏,将正点原子的参考代码,移植到STM32CUBEIDE开发环境,实现TFT LCD屏的显示。TFT LCD模块的管脚连接:其中:LCD_CS是总线片选,WR/CLK是写使能RD是读使能RS是指示总线上传的是命令还是数据(0:命令,1:数据)RST为复位信号BL为背光控制T_CS,T_PEN等部分为触摸屏的控制。对原创 2023-04-04 09:54:28 · 5512 阅读 · 10 评论 -
STM32驱动0.96寸TFT 彩色LCD模块显示
小型的彩色LCD模块如一款0.96寸模块,由ST7735S驱动芯片和LCD屏幕组成。STM32通过驱动ST7735S,从而实现对彩色LCD的驱动。这里将STM32通过硬件SPI驱动0.96寸TFT彩色LCD的参考代码,移植到STM32CUBEIDE开发环境。以STM32G030F6P6为例,可以用于采用ST7735S驱动芯片的其它尺寸LCD屏幕驱动。LCD的模块特性如下:模块的管脚介绍如下:STM32连接时,采用PA4管脚连接到模块的CS管脚, 采用PA6管脚连接到模块的DC管脚,采用PA12管脚连原创 2023-04-03 08:10:07 · 5718 阅读 · 3 评论 -
STM32 GPIO模拟多路I2C总线高阶操作: 同型号多设备并行访问
对于同类型多设备(I2C地址也相同)的场景,这里介绍模拟I2C总线高阶操作,实现同类型多设备的并行访问。前提条件为多个同类型同地址设备的配置过程和读写时序相同。原创 2023-03-29 10:16:48 · 2428 阅读 · 0 评论