STMCU小助手
发布时间:2025-11-17 10:04
|
有人使用SPI的单线通信,其中还需要做通信方向的切换,那么它应该是工作在半工模式。我这里使用STMG431Nucleo开发板,基于片内SPI2和SPI3演示下实现过程。其中,SPI2做Master,SPI3做Slave。按照下面的原理进行物理连接。
主、从SPI将各自CLK直接相连,SPI2的MOSI与SPI3的MISO相连,除时钟外,只用到1根数据线。实际应用中那个电阻建议加上,我这里演示时就省掉了。 现在要实现的结果就是,Master SP2先向Slave SPI3发送一句问候语,然后SPI3向SPI2回应一句问候。具体内容如下: uint8_t SPI2TxData[]="Hi,How are you,Slave?"; uint8_t SPI3TxData[]="How are you,Master?"; 下面使用STM32CubeMx进行配置,主要是有关Master SPI2和Slave SPI3的参考配置,其它就不要贴图了。
基于CubeMx创建工程后,添加必要的基于STM32HAL库的用户代码:
稍加调试,查看输出结果。下面是Slave SPI3和Master SPI2基于半工单线通信方式,先后收到的对方发送过来的数据。
OK,今天的内容就演示到这里,供有需要的人参考。下次再聊。 文章出处:茶话MCU |
经验分享 | 多个SPI的DMA传输为何仅1个有效?
经验分享 | STM32C0 HAL 库的 SPI 驱动导致的 Hardfault 问题分析
经验分享 | SPI传输时为何丢失2个数据?
经验分享 | STM32H7 EXTI + SPI +DMA 双缓冲应用演示
使用Nano板验证驱动SPI串口屏的颜色显示
【经验分享】STM32的SPI的原理与使用(W25Q128附代码)
【STM32C0评测】4、驱动Lorasx126x,实现透传
基于STM32的SPI传输时会丢失数据吗?
基于STM32基础的SPI总线概述
基于STM32的SPI读取数据的最后位出错问题经验分享
微信公众号
手机版