打印
[其他ST产品]

求助:STM32 SPI做从机时SPI_SR TXE如何清空

[复制链接]
635|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
麻花油条|  楼主 | 2024-10-30 10:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stm32 spi做从机时,调用开始传输函数,如下:        if (HAL_SPI_Transmit_DMA(&spihdl, (uint8_t *)&op_cmd, sizeof(op_cmd)) != HAL_OK)
        {
            spi_halted();
        }


如果主机没响应此次传输,spi 从机想结束此次传输,调用结束函数,如下:
                HAL_StatusTypeDef  errorcode = HAL_SPI_Abort(&spihdl);

但是会有问题,SPI的状态寄存器 TXE 发送缓冲区非空,会导致后面传输异常。

目前尝试了很多办法,只有将SPI RESET才能清空,函数如下:
            HAL_SPI_DeInit(&spihdl);
            __HAL_RCC_SPI3_FORCE_RESET();
            __HAL_RCC_SPI3_RELEASE_RESET();
            HAL_SPI_Init(&spihdl);



请问有什么其它好的办法将SR->TXE清空?

使用特权

评论回复
沙发
一秒落纱| | 2024-12-15 21:44 | 只看该作者
SPI_SR寄存器中的TXE标志在STM32的SPI外设中,SPI_SR寄存器(状态寄存器)包含多个标志位,其中TXE(Transmit Buffer Empty)标志位表示发送缓冲区是否为空

使用特权

评论回复
板凳
三生万物| | 2024-12-16 02:00 | 只看该作者
正常来说,当TXE标志位为1时,表示发送缓冲区为空,可以写入新的数据

使用特权

评论回复
地板
暖了夏天蓝了海| | 2024-12-16 03:00 | 只看该作者
SPI作为从机时,TXE标志位的清空通常不需要手动操作,因为TXE标志位会写入数据到SPI_DR寄存器: 当向SPI_DR寄存器写入数据时,TXE标志位会被自动清空

使用特权

评论回复
5
暖了夏天蓝了海| | 2024-12-16 03:00 | 只看该作者
正常来说,当TXE标志位为1时,表示发送缓冲区为空,可以写入新的数据

使用特权

评论回复
6
江河千里| | 2024-12-16 04:00 | 只看该作者
当数据发送完成后,TXE标志位会被自动置位

使用特权

评论回复
7
江河千里| | 2024-12-16 04:00 | 只看该作者
正常来说,当TXE标志位为1时,表示发送缓冲区为空,可以写入新的数据

使用特权

评论回复
8
别乱了阵脚| | 2024-12-16 05:00 | 只看该作者
配置SPI为从机模式。配置SPI的时钟、数据帧格式等参数

使用特权

评论回复
9
远山寻你| | 2024-12-16 06:00 | 只看该作者
使用轮询或中断方式等待TXE标志位被置位

使用特权

评论回复
10
远山寻你| | 2024-12-16 06:00 | 只看该作者
配置SPI为从机模式。配置SPI的时钟、数据帧格式等参数

使用特权

评论回复
11
光辉梦境| | 2024-12-16 07:00 | 只看该作者
TXE标志位为1时,向SPI_DR寄存器写入数据。写入数据后,TXE标志位会被自动清空

使用特权

评论回复
12
光辉梦境| | 2024-12-16 07:00 | 只看该作者
配置SPI为从机模式。配置SPI的时钟、数据帧格式等参数

使用特权

评论回复
13
冰春彩落下| | 2024-12-16 08:00 | 只看该作者
STM32中使用SPI作为从机时,TXE标志位的清空通常不需要手动操作,因为TXE标志位会在向SPI_DR寄存器写入数据时自动清空

使用特权

评论回复
14
淡漠安然| | 2024-12-16 09:00 | 只看该作者
通过正确配置SPI外设并使用适当的轮询或中断方式,可以确保数据传输的正确性

使用特权

评论回复
15
夜阑风雨| | 2024-12-16 10:00 | 只看该作者
正常你看看SPI的例程应该就有这个寄存器的操作了吧,一般都是正常自动清空的

使用特权

评论回复
16
暖了夏天蓝了海| | 2024-12-16 23:00 | 只看该作者
正常来说,当TXE标志位为1时,表示发送缓冲区为空,可以写入新的数据

使用特权

评论回复
17
申小林一号| | 2024-12-31 17:05 | 只看该作者
手册上好想有写

使用特权

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

本版积分规则

279

主题

1460

帖子

2

粉丝