logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

I2C为什么需要外接上拉电阻?针对电路进行剖析

针对I2C的开漏输出电路以及内部MOS管通断机制来剖析上拉电阻的必要性以及阻值的选择

文章图片
#单片机#嵌入式硬件#proteus +3
SPI-HAL库全双工收发函数设计剖析

本文详细解析了HAL库中SPI全双工收发函数HAL_SPI_TransmitReceive_DMA的实现机制。函数首先检查DMA句柄配置、SPI方向模式等参数,验证SPI状态机是否处于就绪或接收忙状态。接着锁定SPI句柄防止并发访问,初始化收发缓冲区指针和计数器,并根据CRC校验设置决定是否复位CRC计算。函数通过配置不同的DMA传输完成回调来处理全双工模式,先后启动接收和发送DMA通道,最终使能

文章图片
#stm32#单片机#嵌入式硬件 +2
SPI通信原理详解-全面剖析

本文深入解析SPI通信协议,包括SPI的主从模式、信号线、数据发送接收机制、时序特点。

文章图片
#单片机#嵌入式硬件#c语言 +1
基于状态机实现IIC_DMA无竞争收发——STM32

本文介绍了如何在STM32上利用DMA实现IIC总线的主从通信并发处理。通过配置DMA优先级(发送高于接收)和中断嵌套优先级,实现了读写操作的并行处理。文章详细说明了状态机设计方法,使用枚举体模拟IIC总线状态,并通过标志位控制读写流程。关键点包括:1)在main函数初始启动接收并开启定时器中断;2)设计状态机处理函数管理读写优先级;3)通过回调函数完成状态切换。该方法有效避免了数据竞争,实现了I

文章图片
#stm32#单片机#嵌入式硬件 +1
STM32HAL库---串口DMA发送接收详解

该文章包含了DMA串口的配置过程以及流程说明,会以较为深入的方式讲解

文章图片
#stm32#嵌入式硬件#单片机 +1
STM32F1串口初始化流程

本文详细解析了STM32F1 HAL库串口通信的初始化流程,主要包括三个关键步骤:首先通过HAL_UART_MspInit函数初始化串口和GPIO时钟;其次配置GPIO为复用功能模式,其中TX引脚设为复用推挽输出,RX引脚设为输入模式;最后通过MX_USART2_UART_Init函数配置串口参数,包括波特率、数据位、停止位等。文章还特别强调了过采样方式的选择(F1仅支持16倍)、硬件流控制的适用

文章图片
#stm32#单片机#嵌入式硬件 +1
到底了