主题中讨论的其他部件: TM4C123GH6PZ
你好。
我有以下问题。 我为TM4C123GH6PZ和ADS1292R之间通过SPI进行通信而编写的代码不起作用。 我尝试从ADS1292R读取ECG和呼吸数据,然后通过UART发送,但我只得到零,而不是实际数据。 我还尝试读取whoami (ID)针脚,但它读为0。 我尝试用逻辑分析器测量信号,但结果不是我所期望的。 首先,时钟的频率是50kHz (尽管在代码中我已经将频率设置为1MHz),CS引脚不会每次都下降。 此外,当我在设置中设置CPOL = 0和CPHA = 1时,Saleae会报告错误"The initial (idle) state of the CLK line does not match the settings.(CLK线的初始(空闲)状态与设置不匹配。)", 但是当我设置CPOL =1时,它在发送器和接收器上都读取'255',即使它不应该这样做。 在ADS1292R数据表中,它表示正确的设置是CPOL =0和CPHA =1,因此我在SSI配置中设置SSI_FF.MOTO_MOTO_MODE_1。 我正在使用Arduino库用于ADS1292R屏蔽/断路器,我已对其进行了调整,使其适合我的TM4C UC。
所有这些都让我感到困惑,因为我是微控制器的新用户,我非常希望能获得一些帮助。 我甚至不确定问题是软件还是硬件。 在附件中,我放置了整个项目(文件夹:'project'),来自Saleae (文件夹:'samples')的结果,连接我使用的引脚的方案(文件夹:'scheme')和用于ADS1292R Shield/Breakout的Arduino库(文件夹:'Arduino库')。

