完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
AD7790上电默认连续转换模式,初始化配置为100Hz速率,利用SPI_RDY作为STM32的外部中断,读取ADC转换结果,相关代码如下:
// ADC初始化,配置100Hz更新速率 无效的 AD_ Init () { spi1_init () ; spi_cs1=0; spi1_ readwritebyte( 0x20) ; spi1_ readwritebyte( 0x01) ; } // ADC 数据读取 u16 ad_read() { u16 RXbuf; /spi_cs1=0; EE_CS=1; spi1_ readwritebyte( 0x38) ; SPI1->CR1|=1<<11; // 16 bit data while((SPI1->SR 1<<1)==0); SPI1->DR=0; while((SPI1->SR 1<<0)==0); RXbuf = SPI1->DR; SPI1->CR1 =~(1<<11); 返回RXbuf; } 测试结果如下: 1) 大部分情况下,上电测试读取数据正常; 2)存在一定概率,上电后数据读取异常,结果为0x00或0xFF; 3)异常数据时,观测SPI波形,显示更新速率为16.6Hz(ADC默认),但是数据结果异常(0xFF居多) 出现异常后,无论ADC如何再次配置,都无法恢复正常,只有ADC重新上电才可以恢复 根据芯片数据手册来看,目前的配置过程应该正确,但是不清楚为什么有时候无法正常读取数据,而且此状态不开恢复,除非芯片重新上电? 请教哪位用过的高人指点下,谢谢 |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
为什么在频率为10^3 Hz处,产生的相移就可以确定约为-90度
1321 浏览 1 评论
【高手问答】电路的功能是为了0.6v到40v之间调压,运放发热严重
3486 浏览 8 评论
USB3.0 工业相机的传输速率是否受到电脑主板某些硬件的限制?
1227 浏览 0 评论
2420 浏览 1 评论
1330 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 00:05 , Processed in 1.117748 second(s), Total 71, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号