TI中文支持网
TI专业的中文技术问题搜集分享网站

ads7043 spi通讯问题

我购买的ads7043为12位数据输出 spi串口兼容 他在使用spi通讯时输出的是14位数据 当14位结束后数据输出口就不再输出了

我使用的单片机是带有spi模块的atxmega系列 他的数据接收寄存器是8位 我在编程的时候遇到了问题

我想请问:

1. 如何保证在接收第一个字节时adc的第九位不会输出?是通过调低spi串口的波特率来保证单片机程序运行的时间吗?

2. 因为adc只输出14位数据所以无法完整接收第二个字节 接收完成的标志位就不会置位 那么我如何通过spi串口接收得知后6位已经传输完毕并且接收它们呢?

非常感谢!

user151383853:

该器件工作在 SPI 的从机模式.

那么 SPI  的 14 位数据, 对于 atxmega系列, 你可以考虑使用软件 SPI 模式来接收数据,以保证 14个 SCLK 的脉冲数.

当然你也可以考虑使用硬件 SPI 来接收, 那么测试一下, 如果 16个 SCLK 脉冲, 会是什么情况, 最后两个脉冲下,由于转换不会来得及完成, 应该不会出现下个数据.

duowen zheng:

回复 user151383853:

Airwill

该器件工作在 SPI 的从机模式.

那么 SPI  的 14 位数据, 对于 atxmega系列, 你可以考虑使用软件 SPI 模式来接收数据,以保证 14个 SCLK 的脉冲数.

当然你也可以考虑使用硬件 SPI 来接收, 那么测试一下, 如果 16个 SCLK 脉冲, 会是什么情况, 最后两个脉冲下,由于转换不会来得及完成, 应该不会出现下个数据.

赞(0)
未经允许不得转载:TI中文支持网 » ads7043 spi通讯问题
分享到: 更多 (0)