打印

N32G435单片机SPI无法读到从机数据

[复制链接]
325|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
XXXVip|  楼主 | 2025-2-13 09:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
SPI写数据进从机寄存器没有问题,波形正常,且从机驱动。但是写完数据后从从机读取寄存器数据,发现读取不到从机数据,测量波形发现,发送从机地址的波形正确,但是从机未回任何数据,时钟也只有8个周期(发送数据的),没有读数据的时钟。
如下是读取从机寄存器值的函数,
uint32_t  TDC7200_ReadByte(uint8_t addr)
{
    uint32_t Rd_Data;
    SPI_CS_L_TDC7200();
    SPI_WriteByte(addr);
    Rd_Data = SPI_ReadByte();
    SPI_CS_H_TDC7200();
    return Rd_Data;
    Delay(1);
}

SPI读数据,使用的是官方例程中的代码,只是在前面增加了一段等待接收完成。
uint8_t SPI_ReadByte(void)
{
    while (SPI_I2S_GetStatus(SPI1, SPI_I2S_RNE_FLAG) == RESET)
         ;
    /* Check the parameters */
    assert_param(IS_SPI_PERIPH(SPI1));

    /* Return the data in the DAT register */
    return SPI1->DAT;
}

使用特权

评论回复

相关帖子

沙发
XXXVip|  楼主 | 2025-2-13 09:29 | 只看该作者

N32G435单片机SPI无法读到从机数据

大佬们帮忙看看是有什么问题导致的吗

使用特权

评论回复
板凳
zeshoufx| | 2025-2-13 15:49 | 只看该作者
感觉你这个程序没写完整,给了地址信息后,还要给一个字节的数据信息,

使用特权

评论回复
评论
XXXVip 2025-2-13 17:11 回复TA
@XXXVip :读不是只要发送地址吗?还是说,除了要发地址,还要发什么 
XXXVip 2025-2-13 17:10 回复TA
我只是要读,写的话不是才写一个字节的地址信息,一个字节的数据信息 
地板
丙丁先生| | 2025-2-14 10:30 | 只看该作者

使用特权

评论回复
评论
XXXVip 2025-2-14 16:26 回复TA
谢谢,但是上述方法都排查过,仍然没有办法读到数据 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝