
STM32学习
文章平均质量分 87
hwx1546
这个作者很懒,什么都没留下…
展开
-
嵌入式杂记 - MDK的Code, RO-data , RW-data, ZI-data意思
在嵌入式开发中,我们经常都会使用一些IDE,例如MDK和IAR。在这些IDE编译完成之后,通常会在编译界面中会出现如下的数据,很多初学者会对这些数据不太熟悉,本篇文章就以MDK为例简单介绍一下这几个数据的意思,IAR也是类似。原创 2023-12-08 22:03:56 · 4095 阅读 · 0 评论 -
嵌入式杂记 -- MCU的大小端模式
在进行MCU开发的时候,我们需要注意MCU的数据存储模式,在嵌入式中有两种不同的存储模式,分别是大端模式和小端模式。原创 2023-11-13 13:33:33 · 1160 阅读 · 0 评论 -
STM32F4X SDIO(九) 例程讲解-SD卡擦除、读写
本节例程基于野火电子的STM32F407的SD卡读写例程进行讲解。上一节中讲解了SD卡设置成4下模式的步骤,本节将会讲解SD卡的擦除和读写操作。原创 2023-11-11 17:01:47 · 1807 阅读 · 0 评论 -
STM32F4X SDIO(八) 例程讲解 设置SD卡 & SDIO 总线宽度
在上一节中我们已经初始化了SD卡,并获取了SD卡的CID、CSD和RCA地址,接下来就可以对SD卡进行读写操作了,但是在进行读写操作时,还需要提高SD卡的总线宽度和SDIO_CK时钟,加快传输速度。程序经过上面的步骤之后,SD卡就进入了准备状态,此时我们需要将SD卡设置成4位总线的模式,但是并不是所有的SD卡都支持4位总线模式,所以我们需要通过查询SD卡的。这个函数是用来读取SD卡数据线上的数据,返回的一个32位的数据,因为SCR寄存器是64位的寄存器,所以我们需要连续读取两次。原创 2023-11-07 10:27:06 · 1555 阅读 · 0 评论 -
STM32F4X SDIO(七) 例程讲解-SD_InitializeCards & SD_GetCardInfo
本节例程基于野火电子的STM32F407的SD卡读写例程进行讲解。上一节中讲解了SD卡上电过程,这节将会讲解一下SD卡的初始化过程,包括获取SD卡的CID、CSD和SD卡RCA地址。原创 2023-11-06 12:22:41 · 446 阅读 · 0 评论 -
STM32F4X SDIO(六) 例程讲解-SD_PowerON
从本节开始将会结合实际的例程讲解SD卡使用,包括SDIO控制器初始化,SD卡初始化,SD卡擦除、SD卡读写等。本例程将会使用野火电子的STM32F407的SD卡读写例程进行讲解。原创 2023-11-03 11:00:45 · 1486 阅读 · 0 评论 -
STM32F4X SDIO(五) SDIO库函数使用
本节主要讲解STM32F4X的SDIO库函数的使用,后续的例程讲解将会用库函数的方法进行编程,所以先提前了解一下SDIO的库函数。原创 2023-11-01 12:31:23 · 568 阅读 · 0 评论 -
STM32F4X SDIO(四) SDIO控制器
STM32F4X内部有一个SDIO控制器,开发者可以使用这个控制器跟SD卡进行通信,下面就来简单了解一下STM32F4X的SDIO控制器的使用。原创 2023-10-31 14:04:37 · 1054 阅读 · 0 评论 -
STM32F4X SDIO(三) SD卡命令与响应
上一节说过SD卡的操作都是基于命令与响应,写操作有写操作的命令,读操作有读操作的命令,这节就来简单看一下SD卡都有哪些命令跟响应。原创 2023-10-30 09:09:42 · 1932 阅读 · 0 评论 -
STM32F4X SDIO(二) SDIO协议
上一节简单介绍了SD卡的分类,本节将会介绍SD卡的通信协议,也就是SDIO协议。原创 2023-10-28 21:01:08 · 811 阅读 · 0 评论 -
STM32F4X SDIO(一) SD卡介绍
在之前的章节中,讲过有关嵌入式的存储设备,有用I2C驱动的EEPROM、SPI驱动的FLASH和MCU内部的FLASH,这类存储设备的优点是操作简单,但是缺点也很明显,就是其存储的容量都不大,都只能存储一些小数据。除了上面说到的几类存储设备之外,还有一种存储设备,就是日常生活中常见的SD卡,SD卡的特点是其存储容量非常大,可以做到几十G的容量,但是其缺点就是操作复杂。原创 2023-10-28 21:00:45 · 1021 阅读 · 0 评论 -
STM32F4X TFTLCD ST7735S使用
TFT-LCD 即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT-LCD与无源 TN-LCD、STN-LCD 的简单矩阵不同,它在液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFT-LCD 也被叫做真彩液晶显示器。原创 2023-10-18 14:55:55 · 4757 阅读 · 6 评论 -
STM32F4X OLED使用
STM32F4X OLED使用OLED简介OLED使用OLED驱动芯片SSD1309引脚SSD1309通信协议4线SPI模式3线SPI模式I2C模式OLED地址确认8080接口OLED 8080写模式OLED 8080读模式6800接口SSD1309显示原理SSD1309显存大小SSD1309显存分布SSD1039数据显示MCU操作SSD1309显存方法OLED取模字符取模图片取模STM32F4X OLED例程OLED关键函数讲解数据传输函数画点函数写GRAM完整例程oled.coled.holedfont原创 2023-10-14 15:08:20 · 956 阅读 · 0 评论 -
STM32F4X I2C LM75
LM75A是NXP半导体公司推出的一具有I2C接口的数字温度传感器芯片,可广泛运用于系统温度管理、个人计算机、电子设备、工业控制器等方面。I2C 总线接口,器件地址 7 位从机地址 1001xxx,同一总线上可以外扩 8 个器件;供电范围:2.8V~5.5V,温度范围:-55℃~+125℃;11 位 ADC 提供温度分辨率达 0.125℃;温度精度:±2℃(-25℃~100℃) ±3℃(-55℃~125℃)可编程温度阈值和滞后设定点;原创 2023-10-12 14:02:41 · 1613 阅读 · 1 评论 -
STM32F4X 内部FLASH使用
在嵌入式开发中,经常需要实时保存一些数据。如果工程的代码量比较大的话可以使用一些外部的存储器件进行数据的保存。如果工程的代码量比较小则可以利用MCU的内部FLASH进行数据的存储。原创 2023-10-09 17:32:26 · 828 阅读 · 0 评论 -
STM32F4X SPI W25Q128
SPI全称是Serial Peripheral Interface,又叫串口外围设备接口,是由Motorola(摩托罗拉)公司开发的一种在设备之间进行通信的协议。SPI是一种全双工同步串行通信协议,其通信过程只需要4根信号线,SPI主机可以连接多个SPI从机。目前很多的传感器,FLASH存储器件都使用SPI通信协议。原创 2023-09-17 22:20:30 · 712 阅读 · 0 评论 -
STM32F4X DMA
DMA又叫直接存储器访问,用于在外设与存储器之间以及存储器与存储器之间提供高速数据传输。可以在无需任何CPU操作的情况下通过DMA快速移动数据。这样节省的CPU资源可供其它操作使用。原创 2023-09-11 16:06:58 · 306 阅读 · 0 评论 -
STM32F4X RTC
RTC全程叫Real-Time Clock实时时钟,是MCU中一个用来计时的模块。RTC的一个主要作用是用来显示实时时间,就像日常生活中的时钟一样,RTC除了可以显示时间之外,还有闹钟功能,唤醒功能等。很多的MCU里面都会有RTC模块,当然也可以外接RTC芯片使用。原创 2023-09-08 22:18:12 · 1133 阅读 · 0 评论 -
STM32F4X ADC
ADC全称是Analog-Digital-Converter,模拟数字转换,也叫模数转换。为什么嵌入式系统需要ADC,我们知道在自然界中广泛存在模拟量,比如声、光、电、磁等。但是对于嵌入式系统来说,如果想要识别自然界的模拟量,就必须将模拟量转换成MCU熟悉的数字量,而在模拟量和数字量之间进行转换的模块就叫模数转换器。原创 2023-09-06 14:38:42 · 727 阅读 · 0 评论 -
STM32F4X RNG随机数发生器
随机数顾名思义就是随机产生的数字,这种数字最大的特点就是其不确定性,你不知道它下一次产生的数字是什么。随机数被广泛应用于密码学、模拟实验、游戏开发领域等。如果上面的随机数的状态寄存器里面的状态都没有异常,而且数据已经准备就绪了,用户就可以读取数据寄存器把随机数读出来。状态寄存器是判断随机数发生器工作是否正常,通过判断状态寄存器的位可以知道随机数是否产生是否正确。RNG的控制寄存器的bit0使能随机数发生器是否工作,bit1则使能是否使用中断。STM32F4X的数据手册给出了随机数发生器的使用步骤。原创 2023-09-03 20:03:07 · 539 阅读 · 0 评论 -
STM32F4X 窗口看门狗 WWDG
上一节简单讲了STM32F4X中的独立看门狗的使用,除了独立看门狗之外,STM32F4X还有一个叫窗口看门狗的外设。原创 2023-08-30 09:23:04 · 122 阅读 · 0 评论 -
STM32F4X 独立看门狗 IWDG
我们都知道,当一个嵌入式在运行过程中发生死机或者程序跑飞的情况的时候,我们一般都是要手动进行开关机或者复位,让程序能够重新运行。但是当一个嵌入式系统被安装到一些特殊位置时,如果发生了死机又不能及时进行手动复位,这时候就需要看门狗了。看门狗的作用就是监控嵌入式系统的运行情况,如果系统出现死机或者程序跑飞时,就会自动复位系统,无需人为干预。原创 2023-08-28 22:16:25 · 240 阅读 · 0 评论 -
STM32F4X Systick系统滴答定时器
Systick定时器的频率计算跟普通定时器的频率计算是一样的。在Crotex-M4中,Systick的时钟源选择有两种,一个是经过8分频的AHB时钟,一个是使用内核时钟,有关这两个时钟源可以在STM32F4X数据手册中进行查看。在以Crotex-M4为架构的MCU中,都会有一个Systick内核定时器,这个定时器的作用可以给系统一个心跳时钟,通常用在MCU的延时和作为RTOS的心跳时钟等。我们需要把控制寄存器的bit2设置成1,把重装载寄存器的值设置为168 ,这样就可以实现1us触发一次异常。原创 2023-08-26 19:53:09 · 540 阅读 · 0 评论 -
STM32F4X 定时器PWM
PWM是Pulse Width Modulation 的缩写,也叫脉冲宽度调节,PWM被广泛应用在产品中,比如常用的有LED灯调节、电机脉冲调节等。PWM有以下几个参数需要了解,分别是周期、高电平持续时间、低电平持续时间和占空比。下面就来简单了解一下PWM的概念。T:PWM周期,周期是指高低电平的持续时间为一个周期。T1:高电平时间T2:低电平时间占空比:占空比为 (高电平时间 / 周期) * 100%原创 2023-08-22 21:02:52 · 714 阅读 · 0 评论 -
STM32F4X 定时器中断
定时器(Timer)最基本的功能就是定时,比如定时翻转LED灯,定时向串口发送数据等。除此之外,定时器还可以跟GPIO结合使用,利用定时器产生PWM波形,利用定时器捕捉电平信号等。本章先来讲解定时器的最基本的用法,定时功能。原创 2023-08-21 23:14:18 · 1248 阅读 · 0 评论 -
STM32F4X USART串口使用
数据位的意思是串口通信时实际的数据位数,数据位不是固定的,常用的数据位有5位、6位、7位、8位,根据传输的数据类型来决定。比如标准的Ascii码为7位,所以数据位可以选择7位,扩展Ascii码为8位,数据位可以选择8位,通常在串口通信里面都是选择8位数据位。波特率是衡量串口的通信速度,波特率的意思是每秒传输的二进制位数,比如串口的波特率为9600,就代表每秒可以传输9600个bit。因为串口通信是异步通信,没有自己的时钟,每个设备都有自己的时钟,在传输过程中可能会出现时钟不同步的现象。原创 2023-08-20 17:36:45 · 1606 阅读 · 0 评论 -
STM32F4X EXTI外部中断
外部中断顾名思义就是外部给MCU一个信号,MCU就进入中断,外部中断通常是由MCU的引脚收到一个信号进行触发。原创 2023-08-17 10:57:59 · 643 阅读 · 0 评论 -
STM32F4X NVIC中断概念
NVIC控制器是STM32F4X用来管理MCU中的外设中断的控制器,NVIC控制器可管理200多个中断,但是STM32F4只使用了其中的82个,所以STM32F4X对NVIC控制器做了些处理。原创 2023-08-15 15:23:21 · 192 阅读 · 0 评论 -
STM32F4X 启动文件讲解
AREA:AREA是定义一个新的段,段名叫RESET,DATA该段为数据段,READONLY表示该段只读。__Vectors:表示中断向量表的起始地址。__Vectors_End:表示中断向量表的结束地址。__Vectors_Size:表示中断向量表的大小。EXPORT:表示标号可以导出给其他文件使用。在中断向量表中,前16个中断是系统中断,无论哪款Crotex-M4芯片都是固定不变,具体可以在《Crotex-M4权威指南》里面可以查看有关系统中断的概念。原创 2023-08-15 10:11:21 · 597 阅读 · 0 评论 -
STM32F4X-GPIO输入功能使用
上一节讲GPIO的时候说到了将GPIO设置成输出模式,并通过将GPIO的电平拉高拉低控制LED灯的例程。GPIO除了用作输出功能之外,还可以用作输入功能。最常用的就是检测按键的输入电平。原创 2023-08-14 22:26:05 · 534 阅读 · 0 评论 -
STM32F4X-GPIO输出功能使用
GPIO全称通用输入输出接口,无论是低端单片机还是高端单片机,GPIO都是一个最基础的模块,如果没有GPIO,那么单片机就是一块废铁,GPIO是单片机跟外界通信的最重要的模块。GPIO一个最基础的功能是输出高低电平和接收外界的输入信号,也可以复用成其他功能,比如ADC、PWM、SPI功能等。原创 2023-08-13 23:52:07 · 570 阅读 · 0 评论 -
初识STM32
STM32是由意法半导体公司开发的32位微控制器的简称,STM32在当今的嵌入式处理器中非常受欢迎。ST公司旗下有几百款32位的微处理器,在ST官网有对不同的处理器做了区分。比如高性能处理器可以有STM32F2、STM32F4、STM32F7等。主流的处理器有STM32F0、STM32F1、STM32F3等。低功耗的有STM32L系列。无线网络的有STM32W系列等。原创 2023-08-12 22:48:10 · 189 阅读 · 0 评论