打印
[STM32G0]

spi2作为从机发送数据超过10bit酒出错

[复制链接]
173|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yunfu1117|  楼主 | 2025-3-30 21:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32G071RBT,spi1收发正常,spi2不正常。
进一步测试,spi2发送数据前10bit是正常的。
超过10bit后边的酒是错误的

使用特权

评论回复
沙发
梅花香自123| | 2025-3-31 22:55 | 只看该作者
DMA 缓冲区过小可能会导致在传输超过缓冲区大小后出现数据丢失或错误。

使用特权

评论回复
板凳
丢丢手绢666| | 2025-3-31 23:41 | 只看该作者
SPI1 和 SPI2 需要有相同或兼容的配置。

使用特权

评论回复
地板
公羊子丹| | 2025-4-1 07:34 | 只看该作者
你 SPI2 作为从机时,NSS 处理方式是什么?试试用硬件 NSS 控制,而不是软件 NSS。

使用特权

评论回复
5
周半梅| | 2025-4-1 07:35 | 只看该作者
SPI2 的数据帧格式是不是 8bit 还是 16bit?检查 CR2.DS 的值,看看是不是 0b1111(16bit 模式)或 0b0111(8bit 模式)。

使用特权

评论回复
6
帛灿灿| | 2025-4-1 07:36 | 只看该作者
你是怎么发送数据的?如果用 HAL_SPI_Transmit(), 试试改用 HAL_SPI_Transmit_IT() 或 HAL_SPI_Transmit_DMA(),可能是阻塞模式导致的问题。

使用特权

评论回复
7
童雨竹| | 2025-4-1 07:37 | 只看该作者
SPI2 作为从机时,主机的 SCK 频率是多少?从机可能跟不上高速时钟,试试降低 SCK 频率看看是否改善。

使用特权

评论回复
8
万图| | 2025-4-1 07:38 | 只看该作者
你有启用 SPI_CR2_FRXTH 位吗?这个位在 8bit 数据模式下需要设置,保证 RXNE 及时置位。

使用特权

评论回复
9
Wordsworth| | 2025-4-1 07:39 | 只看该作者
你 SPI2 发送的数据是错位还是完全错误?如果是错位,可能是 NSS 控制或者 FIFO 没有正确刷新导致。

使用特权

评论回复
10
Bblythe| | 2025-4-1 07:39 | 只看该作者
试试在发送前手动清 SR 里的 OVR 和 MODF 标志位,避免干扰数据传输。

使用特权

评论回复
11
Pulitzer| | 2025-4-1 07:40 | 只看该作者
你 SPI2 的 CPOL / CPHA 设置跟主机匹配吗?不同模式下时钟相位不同,可能会导致数据解析错误。

使用特权

评论回复
12
Uriah| | 2025-4-1 07:41 | 只看该作者
试试用 HAL_SPI_TransmitReceive() 代替 HAL_SPI_Transmit(),有时候 SPI 从机需要同步接收和发送才能稳定工作。

使用特权

评论回复
13
Clyde011| | 2025-4-1 07:42 | 只看该作者
你 SPI2 的 TXE 标志是怎么处理的?检查 SR 里 TXE 是否正确置位,确保数据在发送缓冲区填充前不会丢失。

使用特权

评论回复
14
probedog| | 2025-4-1 12:41 | 只看该作者
如果SPI2的配置不正确,可能会导致数据传输错误。

使用特权

评论回复
15
classroom| | 2025-4-1 14:03 | 只看该作者
时钟不稳定或配置不当。

使用特权

评论回复
16
laocuo1142| | 2025-4-1 15:03 | 只看该作者
SPI2的数据格式设置不正确可能导致传输错误。

使用特权

评论回复
17
flycamelaaa| | 2025-4-1 15:59 | 只看该作者
可能是硬件连接问题。

使用特权

评论回复
18
powerantone| | 2025-4-1 17:20 | 只看该作者
SPI2的硬件连接可能存在松动或短路等问题。

使用特权

评论回复
19
stormwind123| | 2025-4-1 19:32 | 只看该作者
SPI2的初始化代码或数据传输代码可能存在错误。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

7

帖子

0

粉丝