完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
2个回答
|
|
SPI协议在上升沿锁存数据,下降沿更新数据,这是一般SPI协议的作法。但ADS1246需要在下降沿锁存数据,上升沿更新数据。这点需要注意,写个值再读出来不对,肯定是时序出问题了。
__delay_cycles( 20 )是对应主时钟MCLK的。 |
|
|
|
根据您提供的代码和描述,您在使用5418a连接6个AD1246,并尝试通过SPI接口对SYS0寄存器进行读写操作。您发现读出来的数据不正确,可能存在以下几个问题:
1. 硬件连接问题:请检查您的硬件连接是否正确,包括5418a与AD1246之间的连接,以及AD1246之间的级联连接。确保所有连接都正确无误。 2. SPI接口配置问题:请检查您的SPI接口配置是否正确,包括时钟频率、CPOL、CPHA等参数。这些参数需要与AD1246的数据手册中推荐的参数相匹配。 3. 代码问题:请检查您的代码是否正确实现了SPI读写操作。以下是一些可能的问题: a. 写入操作:确保您正确地将采样频率值(0x02)写入SYS0寄存器。您的代码中已经正确地将0x02写入ADC1_WDATA[0],但是请确保EXCHANGE_UCB0函数正确地将数据发送到AD1246。 b. 读取操作:在读取操作之前,您需要确保已经正确地将读命令(0x20|0x03)发送到AD1246。您的代码中已经正确地发送了读命令,但是请确保EXCHANGE_UCB0函数正确地从AD1246接收数据。 4. AD1246配置问题:请检查您的AD1246是否已经正确地配置为20Hz采样频率。您可以查阅AD1246的数据手册,了解如何正确配置采样频率。 5. 延迟问题:您在代码中使用了__delay_cycles(20)来延迟20个周期。请确保这个延迟时间足够长,以便AD1246有足够的时间处理写入操作。如果延迟时间太短,可能会导致读操作失败。 综上所述,您需要检查硬件连接、SPI接口配置、代码实现以及AD1246配置是否正确。如果问题仍然存在,您可以尝试使用示波器等工具检查SPI接口的信号,以便更好地诊断问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
351 浏览 1 评论
546 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
790 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
660 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1140 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
84浏览 29评论
301浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
261浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
210浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
68浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 09:28 , Processed in 0.804178 second(s), Total 49, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号