TI论坛
直播中

廖阿朋

9年用户 1369经验值
私信 关注
[问答]

使用STM32F407同ADS8688相连,ADS866回应的数据和我发出去的数据一模一样,这个是什么原因呢?


  • 我这边使用STM32F407 同 ADS8688 相连,配置好stm32f407的SPI管脚后,发现spi数据线上发送写命令时,不管是发送命令字,还是写寄存器, ADS866回应的数据和我发出去的数据一模一样,这个是什么原因呢?
    main.c:108 STM32F407 START!
    ADS8688.c:163 ADS8688_WriteCommandReg:0x8500
    ADS8688.c:135 SPI1_WriteByte:0x8500
    ADS8688.c:279 SPI1_IRQHandler:0x8500  //spi 接口收到的数据
    ADS8688.c:175 ADS8688_Write_Program_Register:Addr 0x1 data 0x50
    ADS8688.c:135 SPI1_WriteByte:0x350
    ADS8688.c:279 SPI1_IRQHandler:0x350  //spi 接口收到的数据
    ADS8688.c:189 ADS8688_READ_Program_Register:Addr 0x16
    ADS8688.c:135 SPI1_WriteByte:0x2c00
    ADS8688.c:279 SPI1_IRQHandler:0x2c00 //spi 接口收到的数据
    main.c:119 ADS8688 init failed!

回帖(3)

陈玉兰

2024-12-18 11:29:41
     会不会是 SPI 的 两条数据线短路了?
举报

谢昌火

2024-12-18 11:29:45
建议先从硬件上排除,比如两根线短路。然后将程序下载到EVM板进行测试。
举报

云中云

2024-12-19 09:48:19
从您提供的信息来看,您在使用STM32F407与ADS8688进行SPI通信时,发现ADS8688回应的数据与您发送的数据完全相同。这种情况可能是由以下几个原因导致的:

1. SPI配置错误:请检查您的STM32F407的SPI配置是否正确。确保您已经正确设置了SPI的时钟频率、CPOL(时钟极性)和CPHA(时钟相位)等参数。这些参数需要与ADS8688的SPI配置相匹配。

2. ADS8688配置错误:请检查您的ADS8688配置是否正确。确保您已经正确设置了ADS8688的工作模式、参考电压等参数。

3. 代码问题:请检查您的代码,确保您在发送数据时使用了正确的SPI发送函数,并且在接收数据时使用了正确的SPI接收函数。同时,确保您在发送数据后正确地读取了ADS8688的回应数据。

4. 硬件连接问题:请检查您的硬件连接是否正确。确保STM32F407的SPI管脚与ADS8688的SPI管脚正确连接,并且没有短路或接触不良的问题。

5. 干扰问题:请检查您的电路是否存在干扰问题。确保您的电源和地线连接正确,并且没有电磁干扰。

为了解决这个问题,您可以尝试以下步骤:

1. 重新检查SPI配置和ADS8688配置,确保它们正确无误。

2. 检查您的代码,确保您正确地使用了SPI发送和接收函数。

3. 检查您的硬件连接,确保没有短路或接触不良的问题。

4. 检查您的电路是否存在干扰问题,确保电源和地线连接正确。

5. 如果问题仍然存在,您可以尝试使用示波器等工具检查SPI数据线上的信号,以便更好地了解问题所在。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分