自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 stm32四足机器人(标准库)

可以同时开启多个定时器的内部时钟配置,只需确保每个定时器都被正确初始化和配置即可。

2024-10-02 19:03:15 900

原创 关于按键状态机解决Delay给程序带来的问题

IDLE,//按键按下PRESSED,//按键确定状态RELEASED//按键释放}KeyState;Key=1;

2024-10-01 21:15:03 872

原创 C语言指针详解与应用(不断更新)

指针即指针变量,用于存放其他数据单元(变量/数组/结构体/函数等)的首地址。若指针存放了某个数据单元的首地址,则这个指针指向了这个数据单元,若指针存放的值是0,则这个指针为空指针 定义一个指针变量:在定义指针时,它分配的字节大小是由计算机本身决定的,32位操作系统分配四个字节,64位操作系统分配8个字节。

2024-09-30 20:48:35 1154

原创 stm32 FLASH闪存(读写内部FLASH&读取芯片ID)

STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分,通过闪存存储器接口(外设)(FLASH管理员)可以对程序存储器和选项字节进行擦除和编程读写FLASH的用途:利用程序存储器的剩余空间来保存掉电不丢失的用户数据通过在程序中编程(IAP),实现程序的自我更新在线编程(In-Circuit Programming – ICP)用于更新程序存储器的全部内容,它通过JTAG(stm32特有协议)、SWD协议(通用协议)或系统加载程序(Bootloader)下载程序。

2024-09-21 22:04:33 1622 1

原创 stm32 WDG看门狗(独立看门狗&窗口看门狗)

WDG(Watchdog)看门狗看门狗可以监控程序的运行状态,当程序因为设计漏洞、硬件故障、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及时复位程序,避免程序陷入长时间的罢工状态,保证系统的可靠性和安全性看门狗本质上是一个定时器,当指定时间范围内,程序没有执行喂狗(重置计数器)操作时,看门狗硬件电路就自动产生复位信号STM32内置两个看门狗独立看门狗(IWDG):独立工作,对时间精度要求较低窗口看门狗(WWDG):要求看门狗在精确计时窗口起作用。

2024-09-20 19:51:03 1012

原创 stm32 PWR电源控制(修改主频&睡眠模式&停机模式&待机模式)

PWR(Power Control)电源控制PWR负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能可编程电压监测器(PVD)可以监控VDD电源电压,当VDD下降到PVD阀值以下或上升到PVD阀值之上时,PVD会触发中断,用于执行紧急关闭任务低功耗模式包括睡眠模式(Sleep)、停机模式(Stop)和待机模式(Standby),可在系统空闲时,降低STM32的功耗,延长设备使用时间简介。

2024-09-19 15:20:53 1496

原创 stm32 Unix时间戳&BKP备份寄存器&RTC实时时钟(读写备份寄存器&实时时钟)

BKP(Backup Registers)备份寄存器BKP可用于存储用户应用程序数据。当VDD(2.0~3.6V)电源被切断,他们仍然由VBAT(1.8~3.6V)维持供电。当系统在待机模式下被唤醒,或系统复位或电源复位时,他们也不会被复位TAMPER引脚产生的侵入事件将所有备份寄存器内容清除RTC引脚输出RTC校准时钟、RTC闹钟脉冲或者秒脉冲存储RTC时钟校准寄存器用户数据存储容量:20字节(中容量和小容量)/ 84字节(大容量和互联型)RTC(Real Time Clock)实时时钟。

2024-09-18 21:26:46 1059

原创 stm32 SPI通信外设(硬件SPI读写W25Q64)

为了使STM32的GPIO口能够由硬件外设控制,并且满足外设对信号稳定性和驱动能力的需求,需要将GPIO口配置为复用推挽输出模式。这种配置不仅满足了外设的功能要求,还提供了引脚的多功能复用能力,使得系统设计更为灵活和高效。

2024-09-13 20:58:42 1399

原创 stm32 SPI通信协议&W25Q64(软件SPI读写W25Q64)

所有SPI设备的SCK、MOSI、MISO分别连在一起主机另外引出多条SS控制线,分别接到各从机的SS引脚输出引脚配置为推挽输出,输入引脚配置为浮空或上拉输入高位先行起始条件:SS从高电平切换到低电平 终止条件:SS从低电平切换到高电平向SS指定的设备,发送指令(0x06)向SS指定的设备,发送写指令(0x02), 随后在指定地址(Address[23:0])下,写入指定数据(Data)向SS指定的设备,发送读指令(0x03), 随后在指定地址(Address[23:0])下,读取从机数

2024-09-12 21:24:20 1397

原创 stm32 I2C通信外设(硬件I2C读写MPU6050)

TXE:用于指示发送数据寄存器是否准备好接收新的数据进行发送。RXNE:用于指示接收数据寄存器是否有新接收的数据可供读取。

2024-09-11 21:49:01 1089

原创 stm32 I2C通信与MPU6050(软件I2C读写MPU6050)

MPU6050需要通信协议(I2C或SPI)来交换数字数据,因为它的内部数据需要通过这些协议来传输和解析。模拟输出型红外传感器直接输出电压信号,通常不需要通信协议,只需通过ADC将模拟信号转换为数字信号,然后微控制器处理这些数字信号。在处理数字信号的情况下(如MPU6050),通信协议负责数据的完整性和解析。而对于模拟信号(如某些红外传感器),传输方式是直接的电压变化,ADC负责将这些信号转换成数字形式进行处理。

2024-09-10 21:27:28 1360

原创 c语言结构体(不断更新)

定义一个struct是关于man的,这个就相当于说我定义一个类型(比如int)struct man是类型 zaq属于变量关于C语言中把字符串赋值给字符数组的问题这样的写法是不可行的,正确的方法是使用strcpy函数来复制但是如果是开始定义数组并赋值时则可以。

2024-09-08 15:03:47 673

原创 stm32 USART串口数据包(串口收发HEX数据包&串口收发文本数据包)

【代码】stm32 USART串口数据包(串口收发HEX数据包&串口收发文本数据包)

2024-09-07 17:46:46 484

原创 stm32 USART串口(串口发送&串口发送+接收)

USART(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步收发器 USART是STM32内部集成的硬件外设,可根据数据寄存器的一个字节数据自动生成数据帧时序,从TX引脚发送出去,也可自动接收RX引脚的数据帧时序,拼接为一个字节数据,存放在数据寄存器里 自带波特率发生器,最高达4.5Mbits/s可配置数据位长度(8/9)、停止位长度(0.5/1/1.5/2)可选校验位(无校验/奇校验/偶校验)

2024-09-06 20:09:34 1386

原创 stm32DMA直接存储器存取 (DMA数据转运&DMA+AD多通道)

DMA(Direct Memory Access)直接存储器存取DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输,无须CPU干预,节省了CPU的资源12个独立可配置的通道: DMA1(7个通道), DMA2(5个通道) 每个通道都支持软件触发和特定的硬件触发STM32F103C8T6 DMA资源:DMA1(7个通道)

2024-09-05 12:29:19 620

原创 ADC模数转换器(AD单通道&无DMA的AD多通道)

ADC(Analog-Digital Converter)模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁12位逐次逼近型ADC,1us转换时间输入电压范围:0~3.3V,转换结果范围:0~409518个输入通道,可测量16个外部和2个内部信号源规则组和注入组两个转换单元模拟看门狗自动监测输入电压范围STM32F103C8T6 ADC资源:ADC1、ADC2,10个外部输入通道。

2024-09-04 08:00:00 575

原创 ST-Link usb communication error,如何解决STlink驱动连不上的错误

关闭ST-LinkUpgrade.exe,并打开USBDriver,找到stlink_winusb_install.bat并点击。先拔掉ST-Link,然后再插上,接着点击Device Connect。找到ST-LinkUpgrade.exe并点击。点击ARM找见STLink并点击。如果没解决多尝试几次。

2024-09-03 08:30:00 374

原创 TIM编码器接口(带有方向选择的外部时钟)--编码器接口测速

Encoder Interface 编码器接口编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置、旋转方向和旋转速度每个高级定时器和通用定时器都拥有1个编码器接口两个输入引脚借用了输入捕获的通道1和通道2。

2024-09-02 21:12:35 559

原创 STM32 TIM输入捕获(输入捕获模式测频率&&PWMI模式测频率占空比)

IC(Input Capture)输入捕获每个高级定时器和通用定时器都拥有4个输入捕获通道可配置为PWMI模式,同时测量频率和占空比可配合主从触发模式,实现硬件全自动测量。

2024-09-01 20:27:24 777

原创 stm32 TIM输出比较(PWM驱动LED呼吸灯&&PWM驱动舵机&&PWM驱动直流电机)

PWM(Pulse Width Modulation)脉冲宽度调制 在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域 PWM参数:频率 = 1 / Ts 占空比 = TON / Ts 分辨率 = 占空比变化步距舵机是一种根据输入PWM信号占空比来控制输出角度的装置 输入PWM信号要求:周期为20ms,高电平宽度为0.5ms~2.5ms。

2024-08-31 16:21:17 1546

原创 stm32 TIM定时器中断(定时器定时中断&&定时器外部时钟)

TIM(Timer)定时器 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断 16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时 不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能 根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型。

2024-08-30 18:16:50 1334

原创 stm32 EXTI外部中断(标准库)(旋转编码器计次&对射式红外传感器计次)

EXTI(Extern Interrupt)外部中断EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序支持的触发方式:上升沿/下降沿/双边沿/软件触发支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断通道数:16个GPIO_Pin,外加PVD输出、RTC闹钟、USB唤醒、以太网唤醒触发响应方式:中断响应/事件响应。

2024-08-29 20:59:07 1272

原创 stm32 光敏电阻控制蜂鸣器(标准库)

有一些端口主功能是调试或者其他的选择时要注意例如:PA14 是 STM32 微控制器上的一个引脚,通常用于 JTCK/SWCLK,这是一种调试和编程的信号线。

2024-08-28 16:48:44 380

原创 上拉输入,下拉输入,推挽输出,开漏输出,或门,与门,非门

顾名思义.推挽输出(推:把电流推出去 挽:把电流挽回来)本质上是描述MOS管输出高低电平中电流的一个动作。当开关闭合时信号线是0V。当开关打开时信号线是5V。当开关闭合时信号线是5V。当开关打开时信号线是0V。

2024-08-27 21:48:13 475

原创 stm32--------按键控制点亮LED灯(标准库)

人活着一直在变的是时间,它伴随着人的心脏跳动,那么RCC_APB2PeriphClockCmd(时钟)就是stm32的心脏,每当用时必定要开启时钟。LED:发光二极管,正向通电点亮,反向通电不亮。在我的代码用的是第2张图(属于上拉模式)Delay可以根据自己习惯定义。在代码中使用的是推挽输出图4。这些是常见的按键设计方案。

2024-08-27 21:03:11 409

空空如也

空空如也

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

TA关注的人

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