自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 十一、STM32-------SPI通信

本文介绍了SPI通信协议及其在NM25Q128闪存芯片中的应用。SPI是由Motorola开发的全双工同步串行接口,包含MOSI、MISO、CS和CLK四条信号线,支持四种工作模式。文章详细说明了SPI通信流程和NM25Q128闪存特性(16MB容量、4KB扇区等),并提供了基于STM32的软件实现,包括初始化、读写、擦除等功能的代码示例。通过Cubemx配置和Keil编程,实现了对NM25Q128的读写测试,验证了SPI接口的NOR Flash存储功能。

2025-08-25 11:03:16 901

原创 十、STM32-------------IIC通信

IIC总线是一种由PHILIPS公司开发的两线式串行通信协议,通过SDA数据线和SCL时钟线实现数据传输。其特点包括:支持多主机多从机模式,每个设备有唯一地址;数据速率100kbps-3.4Mbps;通过上拉电阻保持空闲高电平。关键时序包含起始信号(SCL高时SDA下降沿)、停止信号(SCL高时SDA上升沿)和应答信号(第9时钟周期低电平有效)。以AT24C02存储器为例,7位地址加读写位组成操作字节,通过特定时序实现读写操作。IIC通信需严格遵循时序规范,在SCL高电平时保持SDA稳定,低电平时允许数据变

2025-08-20 10:25:56 1110

原创 九、模数转换器(ADC)

STM32的ADC模块是12位逐次逼近型模数转换器,具有18个通道(16个外部+2个内部),支持单次/连续/扫描等多种转换模式。关键特性包括:2.4-3.6V供电、0-3.3V输入范围、12位分辨率、规则/注入双通道机制(最多16和4通道)、多种触发方式(软件/外部事件)。转换时间由采样周期(1.5-239.5时钟周期)和12.5个固定周期决定,典型值为1.17us@12MHz。数据存储支持DMA传输(仅ADC1/3)和左右对齐方式,提供三种中断类型。实际应用中需注意通道配置、触发方式选择和时钟分频(≤14

2025-08-18 13:36:59 1098

原创 八、独立看门狗定时器(IWDG)和窗口看门狗定时器(WWDG)

本文介绍了STM32微控制器中独立看门狗(IWDG)和窗口看门狗(WWDG)的工作原理及配置方法。独立看门狗由LSI时钟驱动,通过预分频器和递减计数器实现超时复位功能,需在设定时间内"喂狗"以避免系统复位。窗口看门狗则通过APB1时钟工作,具有上下限窗口范围,需在特定时间窗口内进行喂狗操作。文章详细说明了两种看门狗的寄存器配置、超时时间计算方法,并提供了基于CubeMX和Keil的具体实现步骤,包括喂狗操作的关键代码编写。通过按键中断实现喂狗功能,确保系统在异常情况下能够自动复位。

2025-08-14 16:06:31 527

原创 七、TIM定时器---------通用定时器和高级定时器

TIMx_CH1-----TIMx__CH4是定时器的4个通道,输入捕获是通过外部的GPIO(GPIO需配置为复用模式)传入输入信号,然后经过输入滤波器滤除高频波或者低频波,之后输入信号经过边沿检测器(可以设置为上升沿、下降沿和双边沿),之后的IC1-IC4为输入捕获通道,并且每个通道都配有相应的捕获寄存器,当发生信号捕获时,计数器CNT的值,就会被锁存在捕获寄存器中。递增计数模式:CNT从0开始往上计数,直至计数至自动重载寄存器影子寄存器里的数值,之后计数器溢出,产生更新事件,计数器从零开始重新计数。

2025-08-13 18:01:32 1174

原创 六、TIM定时器--------基本定时器

STM32F103ZET6具有TIM6和TIM7两个基本定时器,具备16位自动重载计数器和可编程预分频器(1-65536),时钟频率可达72MHz。通过配置CK_PSC和TIMx_ARR寄存器可控制定时时间,定时周期公式为Tout=(ARR+1)*(PSC+1)/TIMxCLK。以1s定时为例,设置ARR=9999、PSC=7199即可实现。在CubeMX中配置定时器后,还需在Keil中编写代码并调用启动函数,最终实现LED每秒闪烁的功能。

2025-08-10 07:00:00 282

原创 五、按键输入与按键中断配置

开发板配置4个按键(key_up高电平有效,key0-2低电平有效)。通过Cubemx将按键引脚设为输入模式,其中key2配置为下降沿触发中断(优先级低于串口)。PA0设为下拉(高电平有效),其他按键引脚设为上拉(低电平有效)。最后在Keil中编写GPIO和主程序代码实现功能。

2025-08-09 12:00:23 124

原创 四、USART串口介绍及串口配置

我们写完之后,这里会报错,他的意思是缺少stdio.h这个头文件,我们把这个头文件直接写到main.h,后续起文件都可以用的到。并且还要在魔术棒中勾选 USE MicroLIB。这样我们printf函数就配置好了,后续调试过程中可以使用printf函数进行打印调试。

2025-08-09 09:28:50 1096

原创 三、GPIO的工作模式介绍及流水灯配置

上拉和下拉电阻为断开状态,施密特触发器打开,输出被禁止。输入浮空模式下,IO口的电平完全是由外部电路决定。一般情况下该模式常被应用到按键输入。1.2、上拉输入上拉电阻导通,施密特触发器打开,输出被禁止。1.3、下拉输入下拉电阻导通,施密特触发器打开,输出被禁止。1.4、模拟输入上下拉电阻断开,施密特触发器关闭,双MOS管关闭。外设可以通过模拟通道输入输出。该模式下需要用到芯片内部的模拟电路单元单元,用于 ADCDAC、MCO这类操作模拟信号的外设。1.5、开漏输出。

2025-08-07 18:01:01 341

原创 二、RCC时钟配置

HSE和HSI 同PLL锁相环倍频之后为单片机提供系统时钟信号并且也为搭载在APB1和APB2上的总线的各个外设提供时钟信号,各个外设的时钟频率可以由预分频器进行分频,为各个外设提供不超过其支持的最大时钟频率。通过上图可以看出,时钟源为高速外部时钟 ,经过PLL倍频器9倍频之后,可以为系统提供72MHZ的时钟频率,APB1低速外设时钟总线的最大时钟频率为36MHZ需经过分频器进行2分频为36MHZ,APB2高速外设时钟总线可以不分频。通过数据手册和时钟树介绍 ,单片机最大的系统时钟频率为72MHZ。

2025-08-07 16:12:15 167

原创 一、stm32cubemx创建工程

本系列纯干货分享,帮助小白快速掌握cubemx开发,熟悉常用外设 如gpio 串口 spi iic tim adc等等

2025-08-06 13:40:58 200

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除