自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言中static和volatile关键字的作用

C语言中关键字 static 与 volatile的作用

2024-05-07 20:09:02 294

原创 如何判断一个无符号32位整数是不是2的整数次幂?

分析:2的整数次幂数字的特点是,二进制形式只有1个1,比如:2: 10 4: 100 8: 1000 16: 10000…

2024-03-01 15:47:30 424

原创 PID控制算法,带C语言源码实现

PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。PID控制算法是结合比例、积分和微分三种环节于一体的控制算法。PID算法是连续系统中技术最为成熟、应用最为广泛的一种控制算法。PID控制算法出现于20世纪30至40年代,适用于对被控对象模型了解不清楚的场合。实际运行的经验和理论的分析都表明,运用这种控制规律对许多工业过程进行控制时,都能得到比较满意的效果。

2024-01-25 13:00:00 5672 1

原创 07 FreeRTOS - 常用调试函数(三) vTaskList()

FreeRTOS常用调试函数,vTaskList函数原型

2024-01-24 16:33:50 1429 2

原创 keil出现 Error - Flash Download failed - “Cortex-M3”解决办法

keil出现 Error - Flash Download failed - “Cortex-M3”解决办法

2024-01-23 14:52:30 1409 1

原创 keil5 查看stm32 寄存器的值

Keil仿真查看单片机寄存器的值

2024-01-23 09:33:24 3959

原创 15 STM32 - SPI

SPI ,英文 Serial Peripheral Interface的缩写,是串行外围设备接口。SPI是一种高速,全双工,同步的通信总线。SPI通信只占用四根线(MISO,MOSI,CLK和CS),节约了芯片管脚和PCB的布局省空间。SPI 优点:支持全双工;支持高速(100MHz以上);协议支持字长不限于8bits,可根据应用特点灵活选择消息字长;硬件连接简单;缺点:相比IIC多两根线;没有寻址机制,只能靠片选选择不同设备;

2024-01-20 13:45:49 457

原创 13 STM32-随机数发生器 (RNG)

RNG 处理器是一个以连续模拟噪声为基础的随机数发生器,在主机读数时提供一个 32 位的随机数.RNG 提供由模拟量发生器产生的 32 位随机数,两个连续随机数的间隔为 40 个 PLL48CLK 时钟信号周期。

2024-01-18 17:37:03 861

原创 14 STM32 - IIC (时序图+软件源码)

IIC(Inter-Integrated Circuit),中文集成电路总线,是一种串行通信总线,使用多主从架构。I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。主设备通过两个IO口便可以访问许多设备,因此可以节约IO口。IIC主从之间只有一根数据线,可以收数据,也可以发数据,但是不能同时收发,因此IIC属于半双工的通信模式。

2024-01-18 17:18:20 993

原创 09 STM32 - PWM

脉冲宽度调制(Pulse Width Modulation,简称PWM),是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。

2024-01-18 15:17:17 889

原创 06 FreeRTOS - 常用调试函数(二) vTaskGetInfo()

FreeRTOS - 常用调试函数(二) vTaskGetInfo()

2024-01-18 09:33:08 588

原创 05 FreeRTOS - 常用调试函数 uxTaskGetNumberOfTasks

uxTaskGetSystemState 函数,用来获取任务信息, 函数可以获得的任务信息如下结构体所示。TaskStatus_t 结构体,用来记录任务的信息。

2024-01-17 20:15:00 475

原创 04 FreeRTOS - 列表API

04 FreeRTOS - 列表API。

2024-01-15 18:09:12 353

原创 GD32C103的芯片,PA15与PB4这两个引脚一直保持低高电平,无法拉低的问题。

GD32C103的芯片,PA15与PB4这两个引脚一直保持低高电平,无法拉低的问题处理

2024-01-13 14:14:54 918 2

原创 12 STM32 - 窗口看门狗

窗口看门狗(Window Watchdog, WWDG)是F4芯片上的另外一个看门狗,通常用来监测由外部干扰或不可预见的应用程序软件故障。这种机制能够确保系统的稳定性和可靠性,避免由于系统崩溃或死机等问题对整个系统造成的影响。窗口看门狗,之所以称为窗口,是因为其喂狗时间是一个有上下限的范围内,可以通过设定相关寄存器,设定其上限时间和下限时间:喂狗的时间不能过早也不能过晚。过早喂狗或过晚喂狗都会导致系统重启。

2024-01-13 10:39:24 430

原创 11 STM32-独立看门狗

看门狗(Watchdog)就是MCU上的一种特殊的定时器,用于监视系统的运行。在程序正常运行时,定时喂狗,修改计数器的值,保证递减计数器值大于0;在程序发生错误(例如程序出现死循环)时,无法喂狗,独立看门狗作为一个自由运行递减计数器,当递减计数器值达到 0x000 时,软件自动复位。这种机制能够确保系统的稳定性和可靠性,避免由于系统崩溃或死机等问题对整个系统造成的影响。

2024-01-11 20:27:15 381

原创 03 FreeRTOS - 任务挂起与解挂API

FreeRTOS,任务挂起解挂API

2024-01-11 13:50:15 330

原创 10 STM32 - DMA

直接存储器访问,Direct Memory Access,简称MDA。DMA 传输方式无需 CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备开辟一条直接传送数据的通路,目的是提升CPU的效率。

2024-01-10 17:28:31 392

原创 02 FreeRTOS任务创建与删除

FreeRTOS任务创建与删除。

2024-01-10 06:30:00 367

原创 Hex编码,BCD编码,ASC编码区别

BCD码,ASC码,Hex码

2024-01-09 20:45:00 985

原创 09 STM32 - PWM

脉冲宽度调制(Pulse Width Modulation,简称PWM),是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。

2024-01-09 19:30:00 371

原创 01 FreeRTOS系统配置

freeRTOS 系统配置

2024-01-08 20:39:23 385

原创 00 FreeRTOS初探

FreeRTOS是一个迷你的实时操作系统内核,作为一个轻量级的操作系统,功能包括任务管理,时间管理,信号量,消息队列,内存管理,记录功能,软件定时器,协程等,可基本满足较小系统的需要。

2024-01-08 20:14:31 384

原创 08 STM32 - RTC

RTC

2024-01-08 14:18:06 413

原创 keil警告错误处理

Keil编译的警告,错误

2024-01-06 20:08:24 960

原创 07 STM32F4 - DAC

数字模拟转换器 DAC

2024-01-06 18:20:37 593

原创 06 STM32F4-ADC

ADC,Analog-to-Digital Converter的缩写,指模数转换器。是指将连续变化的模拟信号转换为离散的数字信号。STM32F4的ADC可以设置为6位,8位,12位的模式,位数越高,分辨率越高。

2024-01-06 15:48:22 456

原创 05 STM32F4-外部中断(EXIT)

外部中断是单片机实时处理外部突发事情的一种机制,当发生外部中断后,CPU暂停正在执行的程序,去进行中断事件的处理;中断处理完毕后.又返回被中断的程序处,继续执行下去。STM32F4 的每个 IO 都可以作为外部中断的中断输入口。STM32F407 的中断控制器支持 22个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。EXTI 线 0~15:对应外部 IO 口的输入中断。EXTI 线 16:连接到 PVD 输出。EXTI 线 17:连接到 RTC 闹钟事件。

2024-01-05 09:39:31 420

原创 04 嵌套向量中断控制器 (NVIC)

组号 0 : 子优先级 4 位, 抢占优先级 0 位 (最大优先级1,最大子优先级16)组号 1 : 子优先级 3 位, 抢占优先级 1 位(最大优先级2,最大子优先级8)组号 2 : 子优先级 2 位, 抢占优先级 2 位(最大优先级4,最大子优先级4)组号 3 : 子优先级 1 位, 抢占优先级 3 位(最大优先级8,最大子优先级2)组号 4 : 子优先级 0 位, 抢占优先级 4 位(最大优先级16,无子优先级)2 16 个可编程优先级(使用了 4 位中断优先级)

2024-01-04 11:43:45 373

原创 03 UART

USART(通用同步异步收发器 ) ,是串口的一种,IIC,SPI等也属于串口。STM32单片机的 USART支持多种波特率。并且可以配置多个缓冲区使用 DMA 可实现高速数据通信。

2024-01-03 16:19:59 388

原创 02 定时器

16 位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数为 1~65535 之间的任意数值。4 可使用外部信号(TIMx_ETR)控制定时器和定时器互连(可以用 1 个定时器控制另外一个定时器)的同步电路。16 位/32 位(仅 TIM2 和 TIM5)向上、向下、向上/向下自动装载计数器(TIMx_CNT),2.2 通用定时功能初始化代码:(STM32F4,168M主频)注:TIM9~TIM14 只支持向上(递增)计数方式。4 个独立通道(TIMx_CH1。

2024-01-02 18:06:51 375

原创 01 GPIO

每个IO端口包括4个32位配置寄存器: GPIOx_MODER、GPIOx_OTYPER、2个32位数据寄存器: GPIOx_IDR、GPIOx_ODR1个32位置位/复位寄存器:GPIOx_BSRR复位置位寄存器特点:只有写入1才会对该位有效,写0不影响原来电平1个32位锁定寄存器:GPIOx_LCKR2个32位复用功能选择寄存器:GPIOx_AFRH、GPIOx_AFRL。

2024-01-02 11:39:01 320

原创 00 STM32初探

Cortex-M3采用ARMv7-M架构,Cortex-M0采用ARMv6-M架构,Cortex-A5/A8采用ARMv7-A架构, 传统的ARM7系列采用的是ARMv4T架构。基于ARM内核的32位MCU,内核为ARM公司为要求高性能、低成本、低功耗的嵌入式应用专门设计的Cortex-M内核。6)强大的用户基础:最先成功试水CM4芯片的公司,积累了大批的用户群体,为其领先做铺垫。2)丰富合理的外设,合理的功耗,合理的价格。1)极高的性能: 主流的Cortex内核。3)强大的软件支持:丰富的软件包。

2024-01-02 09:13:43 326

原创 UDS协议-0x10(诊断会话控制)

UDS协议之0x10命令

2022-11-17 18:43:01 746 2

10 STM32F4 - 串口DMA

使用1个定时器,串口1,外加串口1DMA的驱动,中断收到1帧完整数据后串口使用DMA发送返回该数据(2ms未收到数据表示一帧接收完成)最大支持256字节(可修改)。

2024-01-20

空空如也

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

TA关注的人

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