ads7043 spi通讯问题
时间:10-02
整理:3721RD
点击:
我购买的ads7043为12位数据输出 spi串口兼容 他在使用spi通讯时输出的是14位数据 当14位结束后数据输出口就不再输出了
我使用的单片机是带有spi模块的atxmega系列 他的数据接收寄存器是8位 我在编程的时候遇到了问题
我想请问:
1. 如何保证在接收第一个字节时adc的第九位不会输出?是通过调低spi串口的波特率来保证单片机程序运行的时间吗?
2. 因为adc只输出14位数据所以无法完整接收第二个字节 接收完成的标志位就不会置位 那么我如何通过spi串口接收得知后6位已经传输完毕并且接收它们呢?
非常感谢!
该器件工作在 SPI 的从机模式.
那么 SPI 的 14 位数据, 对于 atxmega系列, 你可以考虑使用软件 SPI 模式来接收数据,以保证 14个 SCLK 的脉冲数.
当然你也可以考虑使用硬件 SPI 来接收, 那么测试一下, 如果 16个 SCLK 脉冲, 会是什么情况, 最后两个脉冲下,由于转换不会来得及完成, 应该不会出现下个数据.
Airwill
该器件工作在 SPI 的从机模式.
那么 SPI 的 14 位数据, 对于 atxmega系列, 你可以考虑使用软件 SPI 模式来接收数据,以保证 14个 SCLK 的脉冲数.
当然你也可以考虑使用硬件 SPI 来接收, 那么测试一下, 如果 16个 SCLK 脉冲, 会是什么情况, 最后两个脉冲下,由于转换不会来得及完成, 应该不会出现下个数据.
谢谢您的回答,但不好意思 我最后两句没太看懂。
您的意思是第一个字节接收 移出数据的时候并不会有第九位输入 还是说 第二个字节并不会完整的输出?
谢谢