MCU
文章平均质量分 82
MR.P_H_
一边经历,一边领悟,一边感受,一边懂得!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
引入外部字库(自己用)
在工程中,定义内部大数组,显示汉字采用的就是这种形式,如果只是显示少量汉字,用这种方式显示就很便捷,字体加载速度也会比较快。但是如果想要显示任意的汉字时,就需要把常用的字模全部取出,对应的保存字模数据的数组就会占用大量的空间。myFont24.bin -- 相当于之前的大数组,我们为了节省单片机的空间,同时尽可能支持全部字体,所有需要把bin文件放到SD卡或者flash中,我们就是放到flash中。中选择合适的字体,例如宋体,黑体,微软雅黑。串口1的中断服务函数中,接收一个,就发送一个。原创 2024-07-04 20:02:05 · 21 阅读 · 0 评论 -
STM32CubeMX的介绍与简单使用
STM32CubeMX提供了一个直观的图形用户界面,允许用户通过简单的操作完成对STM32微控制器的配置,包括引脚分配、时钟配置、外设初始化等。专为STM32微控制器设计,旨在帮助开发者轻松配置和初始化STM32微控制器。用户可以通过拖拽和连接来配置芯片的引脚分配,方便地设置GPIO、外部中断、定时器等功能。配置信息可以直接用于STM32CubeIDE或其他支持Cube配置的开发环境,也可以导出为各种主流开发环境(如Keil、IAR等)的工程文件。原创 2024-07-26 14:42:41 · 565 阅读 · 0 评论 -
keil中Event Recorder功能打印的简单使用
Event Recoder, 所有 Link 都支持,并且支持时间测量,功耗测量, printf 打印, RTX5 及其所有中间件调试信息展示!使用标准的下载接口:VCC,GND,SWDIO,SWCLK;原创 2025-05-08 13:04:20 · 744 阅读 · 0 评论 -
STM32H723的FMC配置NOR FLASH问题及解决
STM32H723使用CubeMX配置FMC为NOR FLASH后程序卡死!具体表现为程序卡死在void Error_Handler(void)函数中!问题原因:FMC读取外设失败,H723的NOR_HandleTypeDef结构体比F407芯片多了一个CommandSet参数!从外设中读取不到对应值导致无法失败!解决方法:在HAL_NOR_Init函数中第331行左右对CommandSet进行赋值1或2直接使用!原创 2025-05-07 13:14:05 · 1243 阅读 · 6 评论 -
STM32H723的SPI配置及简单使用!
最近移植工程,需要把F407的工程移植到H7系列中去,原先的工程SPI是直接操作寄存器去发送和接收与其它芯片通信!在移植到H7的工程里后,测试发现,SPI通信的出现问题,通过仿真调试和示波器测试信号(时钟和片选信号),最后发现卡在了判断接收的while判断上!后面又将SPI改为2分频,也就是91MHZ,经过测试,库函数和寄存器操作,时钟频率都可以达到91MHZ,并且总共花费时间两者相差不大(1.7~1.8us)!spi的时钟频率为183.3MHZ,2倍频后为91.6MHZ,4倍频为45.8MHZ。原创 2025-06-11 17:11:51 · 1293 阅读 · 0 评论 -
STM32定时器简单采集编码器脉冲
介绍使用STM32H723ZGT6与编码器进行接口配置。编码器通过A、B两相脉冲输出和Z相零点信号,结合定时器1的编码器接口模式,能够精确计数并判断旋转方向。编码器的工作原理、定时器配置、GPIO初始化以及串口通信的设置,代码展示了读取编码器的计数值并通过串口输出。原创 2025-05-20 15:11:07 · 1257 阅读 · 0 评论 -
STM32CubeProgrammer的下载和JATG烧录程序
CubeProgrammer的下载,它支持通过ST-LINK调试器、串口接口(UART)、USB接口等多种方式与目标设备进行连接和通信,使用UART模式,需要使用CH340驱动!本文主要使用J-Link烧写Keil编写的代码!原创 2024-12-15 10:00:00 · 6284 阅读 · 0 评论 -
keil中C/C++窗口下的优化等级
优化时间”复选框使编译器进行优化,更加注重实现最佳效果检查时的性能(-Otime)或未选中时的最小代码大小(-Ospace)。这个级别执行与-O2相同的优化,但在生成的代码中,空间和时间优化之间的平衡更倾向于空间或时间。在此级别应用的优化利用了ARM对处理器体系结构的深入了解,利用给定目标的特定于处理器的行为。它生成优化良好的代码,但有限调试视图。默认情况下,多文件编译是启用,这会导致更长的编译时间,但会提供最高级别的优化。不同的优化级别允许您在级别之间进行权衡已编译代码中可用的调试信息以及代码的性能。原创 2024-12-03 10:45:09 · 1872 阅读 · 0 评论 -
关于stm32f407定时器时钟频率
从STM32F4的内部时钟树可知,当APB1和APB2分频数为1的时候,TIM1、TIM8~TIM11的时钟为APB2的时钟,TIM2~TIM7、TIM12~TIM14的时钟为APB1的时钟;而如果APB1和APB2分频数不为1,那么TIM1、TIM8~TIM11的时钟为APB2的时钟的两倍,TIM2~TIM7、TIM12~TIM14的时钟为APB1的时钟的两倍。知道定时器的时钟源频率我们用定时器做延时就很方便了,只要设定合适的分频系数即可,附一下用中断实现延时的公式:(摘自原子的STM32F4开发指南)原创 2024-11-14 13:09:55 · 307 阅读 · 0 评论 -
STM32简单驱动步进电机(F407标准库&H723Cubemx)
单片机型号:STM32F104ZGT6步进电机:YK28HB40-01A驱动器:YKD2204M-Plus接线方式:pu+:接对应的产生PWM的引脚,这里接PF9,对应TIM14_CH1通道!pu-:接单片机的GND;DR+:接单片机的3.3V(电机转动的方向固定)或者单片机的控制引脚这里是PF8DR-:接单片机的GND;这里没有使用电机的使能引脚!!!-V:接24V的负极+V:接24V的正极A+:接的步进电机的红线(需要参考对应的原理图,不同的电机接法存在差异)原创 2024-11-14 09:10:06 · 2448 阅读 · 8 评论 -
基于RS485的Modbus协议
用来传输数据,RS485是一种差分传输的串行通信标准,以其强大的抗干扰能力、长距离传输和多点通信能力,在工业控制领域得到广泛应用。RS485使用一对差分信号线(A和B)来传输数据,差分信号能有效抵抗共模干扰,提高通信的可靠性。RS485通信可以是半双工或全双工,具体取决于应用配置。在半双工模式下,同一时刻只能发送或接收数据。:用来解析数据,Modbus是一种用于电子控制器上的一种通用语言,通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。原创 2024-07-26 14:35:12 · 2413 阅读 · 1 评论 -
单片机GPIO的八种工作模式
GPIO(General Purpose Input/Output,通用输入/输出)在微控制器(MCU)和微处理器(MPU)等嵌入式系统中扮演着至关重要的角色,它允许用户灵活地控制外部设备的输入和输出,GPIO的工作模式决定了其在不同场景下的行为和应用。原创 2024-07-10 21:03:32 · 3845 阅读 · 0 评论 -
嵌入式代码升级——IAP
IAP(In-Application Programming)指的是在应用程序运行时对其自身的Flash存储器进行编程的操作。这种技术允许嵌入式设备在不需要外部编程器或调试器的情况下,通过其自身的程序来更新、修改或升级存储在Flash存储器中的代码或数据。原创 2024-07-09 20:15:50 · 3249 阅读 · 1 评论 -
STM32单片机的四种时钟源,系统时钟(SYSCLK)三个主要来源
STM32单片机的时钟系统主要包括四种不同的时钟源,这些时钟源为STM32内部的各个部分提供所需的时钟信号。原创 2024-05-30 13:00:00 · 5599 阅读 · 0 评论
分享