找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 376|回复: 2
收起左侧

h7的spi数据接收问题

[复制链接]
ID:825202 发表于 2024-7-30 11:04 | 显示全部楼层 |阅读模式
下面代码中,RXP标志位只置位了1次,数组中只有一个数据
void BSP_SPI1_SendData(uint16_t data)
{
        NSS_L();
        if(LL_SPI_IsActiveFlag_TXP(SPI1))
        {
                LL_SPI_TransmitData16(SPI1,data);
        }               
        for(int i = 0; i < 2; i++)
        {
                LL_SPI_TransmitData16(SPI1,0x0000);
                if(LL_SPI_IsActiveFlag_RXP(SPI1))
                {
                        SPI_Str.Rx.buffer[i] = LL_SPI_ReceiveData16(SPI1);
                }
        }
        while(LL_SPI_IsActiveFlag_TXC(SPI1) == RESET);
        LL_SPI_ClearFlag_TXTF(SPI1);
//        LL_SPI_Disable(SPI1);
        NSS_H();
}


回复

使用道具 举报

ID:190832 发表于 2024-7-31 13:37 | 显示全部楼层
写了个啥啊,连标志都不查、FIFO都不开,照你这么写可不是就发了一次
回复

使用道具 举报

ID:825202 发表于 2024-7-31 17:18 | 显示全部楼层
hange_v 发表于 2024-7-31 13:37
写了个啥啊,连标志都不查、FIFO都不开,照你这么写可不是就发了一次

flfo在初始化配置里面设置了。手册说收发要看TXP/RXP的状态,发送我可以循环发送data,发送data的时候MISO是高阻态,0x0000是为我接收数据时候提供时钟,现在问题就是接收的时候RXP就置位1次,导致数组只有一个数据,RXP是由硬件置1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表