自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【11】STM32·HAL库·DMA

DMA,全称 Direct Memory Access,即直接存储器访问。DMA 传输将数据从一个地址空间复制到另一个地址空间DMA 传输无需 CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场过程,通过硬件为 RAM 和 IO 设备开辟一条直接传输数据的通道,使得 CPU 的效率大大提高。作用:为CPU减负DMA 存储器总线:DMA 通过该总线来执行存储器数据的传入和传出,包括 SARM1/2/3 及 F(S)MC 外部存储器。DMA 外设总线:DMA 通过该总线访问。

2024-05-20 15:22:42 1280 1

原创 【4】STM32·FreeRTOS·中断管理

让 CPU 打断正常运行的程序,转而去处理紧急的事件(程序),就叫中断中断执行机制,可简单概括为三步1、中断请求:外设产生中断请求(GPIO外部中断、定时器中断等)2、响应中断:CPU 停止执行当前程序,转而去执行中断处理程序(ISR)3、退出中断:执行完毕,返回被打断的程序处,继续往下执行。

2024-05-10 23:02:40 1055

原创 【3】STM32·FreeRTOS·任务挂起和恢复

形参描述待挂起任务的任务句柄1、此函数用于挂起任务,使用时需将宏 INCLUDE_vTaskSuspend 配置为 12、当传入的参数为NULL,则代表挂起任务自身(当前正在运行的任务)无论优先级如何,被挂起的任务都将不再被执行,直到任务被恢复形参描述待恢复任务的任务句柄使用该函数注意宏:INCLUDE_vTaskSuspend 必须定义为 1任务无论被 vTaskSuspend() 挂起多少次,只需在任务中调用 vTaskResume() 恢复一次,就可以继续运行。且被恢复的任务会进入就绪态!

2024-05-09 17:57:11 1022 1

原创 【2】STM32·FreeRTOS·任务创建和删除

动态创建任务:任务的任务控制块以及任务的栈空间所需的内存,均由 FreeRTOS 从 FreeRTOS 管理的堆中分配。静态创建任务:任务的任务控制块以及任务的栈空间所需的内存,需用户分配提供。:更新下一个任务的阻塞超时时间,以防被删除的任务就是下一个阻塞超时的任务。将设计四个任务:start_task、task1、task2、task3。将设计四个任务:start_task、task1、task2、task3。

2024-05-08 22:34:12 1278

原创 【1】STM32·FreeRTOS·新建工程模板【一步到位】

名称描述FreeRTOSFreeRTOS 内核FreeRTOS 组件tools工具FreeRTOS 的 GitHub 仓库链接快速入门指南官方文档链接升级到指定 FreeRTOS 版本官方文档链接FreeRTOS 历史更新记录其他其他。

2024-05-06 20:55:09 971

原创 【17】STM32·HAL库·CAN

CAN(Controller Area Network),是ISO国际标准化的串行通信协议。为了满足汽车产业的“减少线束的数量”、“通过多个 LAN,进行大量数据的高速通信”的需求。低速 CAN(ISO11519) 通信速率 10~125Kbps,总线长度可达 1000 米高速 CAN(ISO11898) 通信速率 125Kbps~1Mbps,总线长度 ≤40 米(经典CAN)CAN FD 通信速率可达 5Mbps,并且兼容经典 CAN,遵循 ISO 11898-1 做数据收发。

2024-04-26 17:28:47 1284 1

原创 【8】STM32·HAL库·定时器

使用纯软件(CPU 死等)的方式实现定时(延时)功能us *= 72;缺点1、延时不精准2、CPU 死等基本定时器为 TIM6 和 TIM7,主要特性有:16 位递增计数器(计数值:0~65535)16 位预分频器(分频系数:1~65536)可用于触发 DAC在更新事件(计数器溢出)时,会产生 中断/DMA 请求通用定时器为 TIM2 到 TIM5(在 F4 中 TIM9 到 TIM14 为阉割版通用定时器),主要特性有:16 位递增、递减中心对齐计数器(计数值:0~65535)

2024-04-18 17:49:07 1638 1

原创 【7】STM32·HAL库·看门狗

IWDG(Independent watchdog),即独立看门狗本质能产生系统复位信号的计数器特性递减的计数器,时钟由独立的 RC 振荡器提供(可在待机和停止模式下运行),看门狗被激活后,当递减计数器计数到 0x000 时产生复位喂狗:在计数器计数到 0 之前,重装载计数器的值,防止复位异常外界电磁干扰或者自身系统(硬件或软件)异常,造成程序跑飞,如:陷入某个不正常的死循环,打断正常的程序运行作用主要用于检测外界电磁干扰,或硬件异常导致的程序跑飞问题应用。

2024-03-30 21:18:03 1249 1

原创 【6】STM32·HAL库·串口

串行通信接口:指按位发送和接收的接口。如:RS-232/422/485等RS-232接口(DB9)数据:TXD(pin 3):串口数据输出RXD(pin 2):串口数据输入握手:RTS(pin 7):请求发送CTS(pin 8):清除发送DSR(pin 6):数据发送就绪DCD(pin 1):数据载波检测DTR(pin 4):数据终端就绪地线:GND(pin 5):信号地其他:RI(pin 9):振铃指示。

2024-03-20 20:50:31 1683 1

原创 【5】STM32·HAL库·中断

打断 CPU 执行正常的程序,转而处理紧急程序,然后返回原暂停的程序继续运行,就叫中断NVIC 还有:中断挂起,解挂,激活标志等非常用功能,不做介绍!SYSCFG(System configuration controller),即系统配置控制器,用于外部中断映射配置等外部中断配置寄存器 SYSCFG_EXTICR 1~4,配置 EXTI 中断线 0~15 对应具体哪个 IO 口特别注意:配置 SYSCFG 寄存器之前要使能 SYSCFG 时钟,方法如下。

2024-03-16 20:08:01 1688 1

原创 【4】STM32·HAL库·GPIO

GPIO(General Purpose Input Output),即通用输入输出端口,简称 GPIO负责采集外部器件的信息或者控制外部器件工作,即输入输出1、不同型号,IO 口数量可能不一样,可通过选型手册快速查询2、快速翻转,每次翻转最快只需要两个时钟周期(F1 最高速度可以到 50MHz)3、每个 IO 口都可以做中断4、支持8 种工作模式施密特触发器就是一种整形电路,可以将非标准方波,整形成方波特点当输入电压高于正向阈值电压,输出为高当输入电压低于负向阈值电压,输出为低。

2024-03-14 19:46:24 1238

原创 【3】STM32·HAL库·时钟系统

简单来说,时钟是具有周期性的脉冲信号,最常用的是占空比50%的方波时钟是单片机的脉搏,搞懂时钟走向及关系,对单片机使用至关重要!

2024-03-11 19:08:53 1539

原创 【2】STM32·HAL库·启动过程浅析

概念:MAP文件是MDK编译代码后,产生的集程序、数据及IO空间的一种映射列表文件,简单来说就是包括了:各种.c文件、函数、符号等的地址、大小、引用关系等信息。以内部FLASH启动为例(在STM32系列,0x0000 0000和0x0000 0004地址会根据启动模式映射到对应的地址)MDK编译过程会生成11种文件,其中MAP文件保存有连接器生成的列表文件,对分析程序存储占有情况非常有用。分析各.c文件占用FLASH和RAM的大小,方便优化代码。打开魔术棒,点击Listing,将下方全勾选上,点击OK。

2024-03-07 22:15:06 73

原创 【1】STM32·HAL库·新建工程模板【一步到位】

由于官方固件包设置了只读权限,所以文件图标会出现黄色小钥匙,需要取消文件夹的只读权限。选择刚才创建的文件夹中的MDK-ARM,命名后点击保存。点击添加工程,选择MDK-ARM项目工程,点击Open。打开main.c,选择编码格式,点击通过编码重新打开。这里要注意:一定要点击OK,点击关闭不会保存!,设置下载器,按照自己的下载器型号来选择。分组,点击Add Files,回到。分组,点击Add Files,回到。分组,点击Add Files,回到。文件夹右键,选择属性,取消只读选项。

2024-03-06 22:12:53 1773

空空如也

空空如也

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

TA关注的人

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