
STM32单片机
文章平均质量分 82
努力
梦新嵌入式
单纯积累知识(学)而不深入思考(思),会陷入迷茫;仅凭主观思考(思)而不补充知识(学),会陷入困境。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
(十五)stm32之WIFI
WIFI网络是一种无线通信网络,也称为:无线宽带,正常的WIFI工作范围在100m的距离,但是收到发射功率大小的影响以及环境的因素,一般情况下的室内定位范围为10m,室外为30m左右,此外,WIFI传输速率也是非常高的可达600Mb/S;:类似于无线终端,不接受无线接入服务,模块作为无线WiFiSTA,用于连接到无线网络,实现串口与其他设备间的无线数据传输,一般无线网卡工作在该模式。:提供无线接入服务,即模块作为无线WiFi热点,允许其它设备连接到本模块,一般的无线路由/网桥工作在该模式。原创 2025-05-09 11:44:17 · 980 阅读 · 0 评论 -
(十四)stm32之RTC
RTC是个独立的定时器。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。在断电情况下 RTC仍可以独立运行 只要芯片的备用电源一直供电,RTC上的时间会一直走。RTC实质是一个掉电后还继续运行的定时器,从定时器的角度来看,相对于通用定时器TIM外设,它的功能十分简单,只有计时功能(也可以触发中断)。但其高级指出也就在于掉电之后还可以正常运行。原创 2025-05-08 17:49:04 · 799 阅读 · 0 评论 -
(十三)stm32之RCC
时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令。时钟系统就是CPU的脉搏,决定cpu速率,像人的心跳一样 只有有了心跳,人才能做其他的事情,而单片机有了时钟,才能够运行执行指令,才能够做其他的处理 (点灯,串口,ADC),时钟的重要性不言而喻。原创 2025-05-08 17:23:51 · 641 阅读 · 0 评论 -
(十二)stm32之PWD
PWR负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能•可编程电压监测器(PVD)可以监控VDD电源电压,当VDD下降到PVD阀值以下或上升到PVD阀值之上时,PVD会触发中断,用于执行紧急关闭任务。•低功耗模式包括睡眠模式(Sleep)、停机模式(Stop)和待机模式(Standby),可在系统空闲时,降低STM32的功耗,延长设备使用时间。原创 2025-05-08 15:55:51 · 704 阅读 · 0 评论 -
(十一)stm32之FLASH
STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分,通过闪存存储器接口(外设)可以对程序存储器和选项字节进行擦除和编程读写FLASH的用途:利用程序存储器的剩余空间来保存掉电不丢失的用户数据通过在程序中编程(IAP),实现程序的自我更新**在线编程(In-Circuit Programming – ICP)**用于更新程序存储器的全部内容,它通过JTAG、SWD协议或系统加载程序(Bootloader)下载程序。原创 2025-05-08 15:42:41 · 844 阅读 · 0 评论 -
(十)stm32之FATFS
FATFS 是一个完全免费开源的 FAT 文件系统模块,专门为小型的嵌入式系统而设计。它完全用标准 C 语言编写,所以具有良好的硬件平台独立性,可以移植到 8051、PIC、AVR、SH、Z80、H8、ARM 等系列单片机上而只需做简单的修改。它支持 FATl2、FATl6 和 FAT32,支持多个存储媒介;有独立的缓冲区,可以对多个文件进行读/写,并特别对 8 位单片机和 16 位单片机做了优化。原创 2025-04-30 15:22:01 · 1149 阅读 · 0 评论 -
(九)stm32之SD卡
很多单片机系统都需要大容量存储设备,以存储数据。目前常用的有 U 盘,FLASH 芯片,SD 卡等。他们各有优点,综合比较,最适合单片机系统的莫过于 SD 卡了,它不仅容量可以做到很大(32Gb 以上),而且支持 SPI 接口,方便移动,并且有几种体积的尺寸可供选择(标准的 SD 卡尺寸,以及 TF 卡尺寸等),能满足不同应用的要求。原创 2025-04-30 15:10:30 · 1387 阅读 · 0 评论 -
(八)stm32之NEC
而遥控接收头在收到脉冲的时候为低电平,在没有脉冲的时候为高电平,这样,我们在接收头端收到的信号为:逻辑 1 应该是 560us 低+1680us 高,逻辑 0 应该是 560us 低+560us 高。TIM5_IRQHandler 函数是 TIM5 的中断服务函数,在该函数里面,实现对红外信号的高电平脉冲的捕获,同时根据我们之前简介的协议内容来解码 ,该函数用到几个全局变量,用于辅助解码,并存储解码结果。采用定时器的输入捕获功能实现红外解码,进入等待红外触发,如过接收到正确的红外信号,则解码。原创 2025-04-30 14:33:04 · 736 阅读 · 0 评论 -
(七)stm32之TP
目前最常用的触摸屏有两种:电阻式触摸屏与电容式触摸屏。原创 2025-04-30 10:13:46 · 1094 阅读 · 0 评论 -
(六)STM32之TFTLCD实验(基于st7789v驱动)
若 HFPR=12、HBPR=12 → 有效列 = 240 - 12 -12 = 216,需与实际显示区域一致。数据位宽18位(RGB666格式),但实际可能压缩为RGB565(16位)以兼容主流MCU。对应ST7789V的GRAM(Graphics RAM),需通过指令设置行列地址后写入数据。示例:ST7789V通过0x2A(列地址)和0x2B(行地址)命令设置显示区域。结构:240×320分辨率,RGB子像素排列(240列×320行×RGB)。作用:存储待显示的像素数据(240×320×18位)。原创 2025-07-03 15:28:35 · 1303 阅读 · 1 评论 -
(六)stm32之 TFT LCD(基于ILI9341驱动)
OLED 模块及其显示,但是该模块只能显示单色/双色,不能显示彩色,而且尺寸也较小。本章我们将介绍 TFT LCD 模块,该模块采用 TFTLCD 面板,可以显示 16 位色的真彩图片。原创 2025-04-30 10:13:34 · 1521 阅读 · 0 评论 -
(五)stm32之OLED实验
oledfont.hbmp.holed.coled.hmain.c1.点击模式,选择字符模式2.点击选项,进行设置3.以生成16x16的汉字,字宽,字高选择16。在输入栏输入需要取模的汉字(只能是汉字),然后点击生成字模。3.将生成的字模复制到oledfont.h的数组中1.点击模式,选择图形模式2.点击文件,打开要取模的图片3.点击选项,进行设置,也可以取阳码4.最后点击生成字模,将生成的字模复制到bmp.h的数组中5.0.96寸屏幕最大为128x64像素,图片不能太大原创 2025-05-09 11:42:30 · 161 阅读 · 0 评论 -
(五)stm32之OLED(基于SSD1306驱动)
OLED,即有机发光二极管(Organic Light-Emitting Diode),又称为有机电激光显示(Organic Electroluminesence Display, OELD)OLED 由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。LCD 都需要背光,而 OLED 不需要,因为它是自发光的。这样同样的显示,OLED 效果要来得好一些。原创 2025-04-30 10:13:20 · 863 阅读 · 0 评论 -
(五)stm32之WDG
看门狗可以监控程序的运行状态,当程序因为设计漏洞、硬件故障、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及时复位程序,避免程序陷入长时间的罢工状态,保证系统的可靠性和安全性看门狗本质上是一个定时器,当指定时间范围内,程序没有执行喂狗(重置计数器)操作时,看门狗硬件电路就自动产生复位信号,STM32内置两个看门狗。独立看门狗(IWDG):独立工作,对时间精度要求较低窗口看门狗(WWDG):要求看门狗在精确计时窗口起作用。原创 2025-05-08 17:00:22 · 555 阅读 · 0 评论 -
(五)stm32之DMA
直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。两个DMA控制器有12个通道(DMA1有7个通道,DMA2有5个通道),每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个仲裁器来协调各个DMA请求的优先权。•DMA(Direct Memory Access)直接存储器存取。原创 2025-05-08 16:49:20 · 627 阅读 · 0 评论 -
(五)stm32的ADC与DAC
12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。● ADC(Analog-Digital Converter)模拟-数字转换器。原创 2025-05-08 15:15:23 · 774 阅读 · 0 评论 -
(四)stm32之SPI实验
SPI之W25Q64。原创 2025-05-09 11:43:34 · 216 阅读 · 0 评论 -
(四)stm32之IIC实验
IIC之MPU6050。原创 2025-05-09 11:43:48 · 151 阅读 · 0 评论 -
(四)stm32之UART实验
【代码】(四)stm32之UART实验。原创 2025-05-09 11:43:11 · 145 阅读 · 0 评论 -
(四)stm32之通信协议
接收一个字节:SCL低电平期间,从机将数据位依次放到SDA线上(高位先行),然后释放SCL,主机将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次,即可接收一个字节(主机在接收之前,需要释放SDA)发送一个字节:SCL低电平期间,主机将数据位依次放到SDA线上(高位先行),然后释放SCL,从机将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次,即可发送一个字节。原创 2024-07-12 14:05:26 · 2527 阅读 · 0 评论 -
(三)stm32之TIM
输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形。不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能。在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域。PWM频率: Freq = CK_PSC / (PSC + 1) / (ARR + 1)计数器计数频率:CK_CNT = CK_PSC / (PSC + 1)原创 2024-07-12 14:03:04 · 330 阅读 · 0 评论 -
(二)stm32之EXIT
一.中断系统中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行中断优先级:当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源中断嵌套:当一个中断程序正在运行时,又有新的更高优先级的中断源申请中断,CPU再次暂停当前中断程序,转而去处理新的中断程序,处理完成后依次进行返回。原创 2024-07-05 23:33:28 · 384 阅读 · 0 评论 -
(一)stm32之GPIO
3)keil工程里建分组Start、Library、User,将文件夹内的文件添加到工程分组中。(Library)库函数描述:misc.c/h;4)工程选项,C/C++,Include Paths内声明所有包含头文件的文件夹。(Start)定义SystemInit:System_xx.c/h。(User)定义中断处理函数:stm32f10x_it.c/h。(Start)启动调用函数描述:startup_md.s。(Start)内核寄存器描述:core_cm3.c/h。原创 2024-07-04 15:09:29 · 558 阅读 · 0 评论