
STM32入门教程
文章平均质量分 77
本专栏主要介绍STM32入门知识,供初学者一起学习
单片机的码农
这个作者很懒,什么都没留下…
展开
-
stm32入门教程—i2s
在实际应用中,你可能还需要考虑音频数据的存储和播放,比如使用SD卡存储音频文件,并通过I2S接口播放。在实际应用中,你可能还需要考虑音频数据的存储和播放,比如使用SD卡存储音频文件,并通过I2S接口播放。6. 初始化结构体:使用I2S_InitTypeDef结构体配置I2S参数,包括模式、标准、数据格式、主时钟输出使能、采样频率和空闲电平选择。1. I2S引脚配置:首先需要配置STM32的I2S引脚,包括SCK(时钟线)、WS(字选择线)和SD(数据线)。// 初始化I2S和DMA。原创 2024-09-28 20:11:27 · 1946 阅读 · 0 评论 -
stm32入门教程——DMA之内存到外设串口DMA
在STM32F407微控制器中,使用UART(通用异步收发器)进行串口通信时,DMA(直接内存访问)可以显著提高数据传输效率,因为它允许在不占用CPU的情况下进行数据的发送和接收。以下是一个基于STM32F407的UART DMA传输的例程,包括初始化和传输过程的详细步骤。特别是在初始化函数中,你需要根据你的系统时钟配置和外设要求进行适当的设置。确保你的STM32F407开发板已经连接到你的电脑,并且你有一个支持UART通信的调试器。// 定义TX和RX的GPIO端口和引脚。// 初始化UART和DMA。原创 2024-04-02 22:41:17 · 844 阅读 · 1 评论 -
stm32入门教程——DAC介绍
然后在`MX_DAC_Init`函数中初始化DAC,设置了触发源为无(即软件触发),启用了输出缓冲器,并选择了12位的分辨率和右对齐模式。在主循环中,我们遍历正弦波数组,并使用`HAL_DAC_SetValue`和`HAL_DAC_Start`函数来输出DAC值。- 在主循环中,使用`HAL_DAC_SetValue()`函数设置DAC输出值,并使用`HAL_DAC_Start()`启动DAC输出。5. **中断配置**(可选):如果需要处理DAC相关的事件(如DMA传输完成),可以配置相应的中断。原创 2024-04-01 21:03:16 · 1642 阅读 · 0 评论 -
stm32入门教程——DMA介绍之memory to memory
4. **设置传输方向、增量模式和数据宽度**:在DMA_CCRx中配置数据传输的方向(是否从外设到内存或相反)、是否在传输后递增地址(增量模式)以及数据的宽度(字节、半字或全字)。1. **设置源地址和目标地址**:在DMA的通道x外设地址寄存器(DMA_CPARx)和通道x内存地址寄存器(DMA_CMARx)中分别设置外设和内存的地址。2. **配置DMA请求**:在STM32CubeMX中,选择DMA2控制器,并创建一个新的DMA请求,选择“MEMTOMEM”作为请求类型。原创 2024-03-30 08:16:12 · 1270 阅读 · 1 评论 -
stm32入门教程——ADC采样之轮询模式
2. **多通道输入**:STM32F407拥有多达19个ADC通道,其中16个外部通道和3个内部通道(如VrefInt、Vbat和温度传感器),可以同时监测多个模拟信号。1. **高分辨率**:STM32F407的ADC支持12位、10位、8位和6位的分辨率,能够提供高精度的模拟信号转换。3. **灵活的采样时间配置**:每个通道的采样时间可以独立配置,以适应不同的信号特性和转换精度要求。// 选择ADC通道0。- **初始化配置**:需要配置ADC的分辨率、采样时间、工作模式、触发源等参数。原创 2024-03-29 18:40:07 · 899 阅读 · 1 评论 -
stm32入门教程——GP IO中断介绍
4. **配置NVIC**:在NVIC中设置中断优先级(`NVIC_PriorityGroupConfig`),并启用中断(`NVIC_InitStructure`)。在这个例子中,我们配置了PA0引脚为上升沿触发的中断,并设置了相应的中断服务函数。3. **设置中断触发条件**:通过配置EXTI的中断请求线(如`SYSCFG_EXTILineConfig`)和相关的触发模式(如上升沿、下降沿或双边沿)。6. **清除中断标志**:在中断服务函数的最后,通常需要清除中断标志位,以便能够响应后续的中断事件。原创 2024-03-28 17:13:42 · 1276 阅读 · 0 评论 -
stm32入门教程——定时器timer之pwm
3. **定时器配置**:设置定时器的预分频器(PSC)和自动重装载寄存器(ARR),以确定PWM的频率和周期。- **占空比**:在一个PWM周期内,高电平持续的时间占总周期时间的百分比,通常用百分比表示。2. **GPIO配置**:配置与PWM输出相关的GPIO引脚为复用功能,设置为推挽输出模式。4. **PWM模式配置**:配置定时器的捕获/比较寄存器(CCR),以设置PWM的占空比。// 占空比50%,这里设置为周期的一半。5. **输出使能**:最后,使能定时器的PWM输出功能,并启动定时器。原创 2024-03-27 18:51:44 · 1253 阅读 · 0 评论 -
stm32入门教程——定时器timer之计数器
然后,我们使能了定时器,并在定时器中断服务函数TIM1_IRQHandler中处理定时器的更新中断。了解定时器的基本概念,如计数模式、定时器溢出、PWM 输出等。4. PWM 输出:如果需要生成 PWM(脉冲宽度调制)信号,可以配置定时器的 PWM 模式,并设置 PWM 的周期和占空比。6. 调试与测试:使用调试工具(如示波器、逻辑分析仪等)来观察定时器的输出信号,确保定时器的工作正常。原创 2024-03-26 20:05:43 · 1160 阅读 · 0 评论 -
stm32入门教程——iic通讯
5. **错误标志**:包括主模式下的仲裁丢失、地址/数据传输完成后的应答失败、检测误放的起始位和停止位、禁止时钟延长后出现的上溢/下溢等。2. **I2C初始化**:配置STM32F407的I2C接口,设置正确的时钟速率、地址模式(7位或10位地址)、主从模式等。- **读取数据**:发送起始信号,发送EEPROM的读地址,然后接收数据,最后发送非应答信号(NACK)和停止信号。- **写入数据**:首先发送起始信号,然后发送EEPROM的写地址,接着发送要写入的数据,最后发送停止信号。原创 2024-03-25 21:51:47 · 1309 阅读 · 0 评论 -
STM32入门教程——CAN驱动经验文档
以下是一个基于STM32F407微控制器的CAN通讯例程,该例程将展示如何使用STM32 HAL库来初始化CAN外设,发送和接收CAN消息。确保你的STM32F407开发板已经连接到CAN转接器,并且CAN_H和CAN_L线已经正确连接到CAN总线上。- 详细说明如何发送CAN数据,包括构建CAN消息、选择适当的缓冲区和发送机制。- 说明如何配置CAN引脚(CAN_RX和CAN_TX)的GPIO设置。- 根据你的CAN总线速度和系统时钟,你可能需要调整CAN的位时间配置。原创 2024-03-23 19:06:01 · 920 阅读 · 1 评论 -
STM32入门教程——驱动SPI Flash的经验分享
**MISO (Master In Slave Out)**: 主设备输入/从设备输出引脚。- **MOSI (Master Out Slave In)**: 主设备输出/从设备输入引脚。- **CS (Chip Select)**: 片选信号引脚,用于启动和结束SPI通信。- **Sector Erase (0x20 - 0x21)**: 扇区擦除。- **Write Disable (0x04)**: 禁止写入操作。- **Write Enable (0x06)**: 使能写入操作。原创 2024-03-23 17:03:27 · 867 阅读 · 1 评论 -
STM32入门教程——串口通讯
STM32入门教程,介绍串口的三种通讯方式,以及如何利用串口使用printf打印日志原创 2022-12-22 15:19:05 · 7592 阅读 · 0 评论 -
STM32入门教程——从汇编到 C函数的main
stm32汇编程序到C程序的结合,为初学者介绍stm32的运行过程。原创 2022-12-13 08:12:05 · 1038 阅读 · 0 评论 -
STM32入门教程——点亮一个LED
本文为初学者介绍如何使用KEIL MDK点亮stm32开发板中的一个LED。从新建工程到驱动编写。帮忙初学者入门。原创 2022-12-12 10:13:04 · 2205 阅读 · 0 评论 -
STM32入门教程——启动代码分析
stm32启动代码分析,cortex m3启动代码分析原创 2022-12-09 08:06:28 · 486 阅读 · 0 评论