- 博客(9)
- 收藏
- 关注
原创 HAL库STM32常用外设教程(三)—— USART/UART通信
单片机的串口阻塞式接收模式是指在接收数据时,程序会暂停执行直到接收到所需的数据为止。在这种模式下,接收函数会等待数据到达并阻塞主程序的执行,直到串口接收缓冲区中有数据可供读取。中断式串口接收机制基于STM32的硬件中断特性,当串口接收到数据时自动触发CPU中断,即时处理接收数据,无需CPU主动轮询,提高了CPU的处理效率。串口DMA的原理是通过DMA控制器直接在内存和串口之间传输数据,而无需CPU干预。
2024-07-26 14:31:30 1650
原创 HAL库STM32常用外设教程(九)—— I2C通信(读写EEPROM)
I2C(Inter-Integrated Circuit)接口,有时也写作IIC,是一种串行数字总线接口。I2C接口只有两根信号线,总线上可以连接多个设备,硬件实现简单,可拓展性强。I2C通信协议可以通过普通GPIO引脚进行软件模拟。I2C接口主要用于通信速率要求不高,以及多个器件之间通信的应用场景。本文讲解了I2C的基础知识,其中涉及了I2C的通信原理、HAL库驱动程序、I2C的三种发送模式(轮询(阻塞)、中断、DMA)。
2024-03-30 15:34:40 12921 1
原创 HAL库STM32常用外设教程(八)—— SPI (读写W25Q128)
串行外设接口(Serial Peripheral Interface,SPI)是一种传输速率比较高的串行接口,一些ADC芯片、Flash存储器芯片采用SPI接口,MCU通过SPI接口与这些外围器件通信。通过本文讲解了SPI通信,其中涉及了SPI的原理、HAL库的相关驱动函数,其中涉及了SPI轮询、中断、DMA三种方式。然后又通过Flash芯片W25Q128作为示例来讲解SPI通信,讲解了W25Q128的部分指令,轮询方式读写W25Q128,其中涉及的SPI的CubeMx配置应当熟悉掌握。
2024-03-28 21:13:20 6088 2
原创 HAL库STM32常用外设教程(七)—— ADC
2、STM32CubeMx软件3、keil5内容简述:通篇文章将涉及以下内容,如有错误,欢迎指出1、ADC基本原理2、轮询、中断、DMA方式下的ADC采集ADC 即模拟数字转换器,英文详称 Analog-to-digital converter,可以将外部的模拟信号转换为数字信号,是模拟信号数字化的必要器件。STM32F407有3个ADC,最高12位分辨率,最多16个外部通道,ADC1还有3个内部测量通道,可以测量内部温度、参考电压和备用电池电压。
2024-01-27 20:00:59 4873 7
原创 HAL库STM32常用外设教程(六)——定时器 输入捕获
2、STM32CubeMx软件3、keil5内容简述:通篇文章将涉及以下内容,如有错误,欢迎指出:定时器有关输入捕获的HAL库驱动程序(1)CubeMx配置(2)TIM驱动程序(3)输入捕获检测方波占空比(4) 输入捕获检测PWM频率和占空比(5)用定时器ETR方式计算PWM脉冲数有关于定时器输出PWM功能HAL库STM32常用外设教程(一)—— 定时器 输出PWM有关于定时器定时功能+基础定时器特性HAL库STM32常用外设教程(四)—— 定时器 基本定时。
2024-01-26 11:43:23 8206 9
原创 HAL库STM32常用外设教程(四)—— 定时器 基本定时
2、STM32CubeMx软件3、keil5内容简述:通过本篇内容您将学到1、基础定时器特性2、基础定时器的结构和功能3、基础定时器HAL库驱动程序(1)CubeMx配置(2)TIM驱动程序STM32F407有2个高级控制定时器(TIM1、TIM8)、8个通用定时器和2个基本定时器。基本定时器功能比较简单,只能用于定时,通用定时器和高级定时器还具有输入捕获、输出比较、PWM输出等功能。定时器类型定时器计数器长度计数类型DMA请求捕获/比较通道数所在总线基本定时器。
2023-12-10 16:53:12 8359 7
原创 HAL库STM32常用外设教程(二)—— GPIO输入\输出
2、STM32CubeMx软件3、keil5内容简述:通过本篇内容您将学到GPIO的8个工作模式1、GPIO功能概述2、GPIO的HAL库驱动3、GPIO使用示例(1)CubeMx配置(2)GPIO驱动程序STM32F407ZG有8个16引脚的GPIO端口,从PA到PH,还有一个12引脚的PI端口,这些IO端口都连接在APB1总线上,最高时钟频率168MHz,GPIO引脚能承受5V电压,作为GPIO引脚使用时,我们可以输入或输出数字信号。
2023-12-03 21:04:04 4876
原创 HAL库STM32常用外设教程(一)—— 定时器 输出PWM
本篇文章为个人参考总结所用,如果错误还望指出。涉及的知识:1、STM32CubeMx的部分使用2、PWM原理及常用概念3、用单片机生成一定频率的PWM用到的软件及单片机:2、IDE: MDK-Keil软件3、芯片:STM32F407ZGT64、开发板:正点原子探索者注:不同型号的单片机实现的原理基本相似,F1实现过程同理(1)出现的问题CubeMxz生成的代码时钟频率是25MHZ,在此频率下观察到的方波如下:此时虽然可以生成PWM,但是生成的PWM频率和周期不正确。
2023-06-23 13:14:06 11524 10
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人