AiK 发表于 2024-3-19 13:24:58

SPI单线发送模式,MOSI空闲电平状态?

1、现象描述1:使用SPI的单线发送模式,每5秒发送一次数据,跟踪HAL_SPI_Transmit函数,发现第一次上电调用该函数时,使能SPI1之后,MOSI电平为低电平,发送完之后MOSI也为低电平;但是之后调用HAL_SPI_Transmit函数,其中代码使能SPI1之后,MOSI会先拉高,再发送真实的数据。

2、问题2:MOSI的空闲电平怎么控制?
3、现象描述2:在要发送的数据末尾增加8个16位的数据(0x0000),MOSI能保持空闲电平为低;如果发送数据时,在末尾增加的16位的数据小于8个,比如6个,MOSI发送数据前、后,都有先被拉高、再发送实际数据的情况,如下两图,
4、问题2:现象3,怎么解释?

eric2013 发表于 2024-3-19 14:45:26

这个应该是不可配置的,可以使能GPIO的下拉电阻试试。

AiK 发表于 2024-3-19 22:54:47

eric2013 发表于 2024-3-19 14:45
这个应该是不可配置的,可以使能GPIO的下拉电阻试试。

好的 已解决

eric2013 发表于 2024-3-20 08:58:45

AiK 发表于 2024-3-19 22:54
好的 已解决

看到你群里的回复了,通过结束时发固定数据的方法确实可以{:8:}

AiK 发表于 2024-4-24 11:10:45

eric2013 发表于 2024-3-20 08:58
看到你群里的回复了,通过结束时发固定数据的方法确实可以

也是尝试试出来的,现在是发送完数据后,再多发8个16位的0x0000数据,MOSI就会保持低电平,少了也不行。因为我这使用方法特殊,是用SPI单线发送模拟单线、归零码通讯协议,给横流LED驱动IC发数据;SPI配置为16位模式,8Mbps波特率,那么归零码波特500Kbps,数据0xF000表示0码,数据0xFFF0表示1码。分享下,也是记录。
页: [1]
查看完整版本: SPI单线发送模式,MOSI空闲电平状态?