完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
while(1)
{ if(AD7190_Init()==0)//能找到ADC { AD7190_Calibrate(AD7190_MODE_CAL_INT_ZERO, AD7190_CH_AIN1P_AINCOM);//校正 AD7190_RangeSetup(1, AD7190_CONF_GAIN_1);//设置单极性,增益1, AD7190_Calibrate(AD7190_MODE_CAL_INT_FULL, AD7190_CH_AIN1P_AINCOM);//校正 AD7190_ChannelSelect(AD7190_CH_AIN1P_AINCOM);//选择AIN1P_AINCOM,单通道 result = AD7190_SingleConversion();//单 次读取 } } 如上所示程序,读取数值不对; 本想测试下ADC的采样频率是否准确,故设置成单次单通道采样,结果发现要不就是无法再次启动采样,或者就是数值不正确,求救 |
|
相关推荐
1个回答
|
|
从您提供的代码片段来看,您正在尝试使用STM32控制AD7190进行单次单通道采样。如果读取的数值不正确,可能有以下几个原因:
1. 通信问题:确保STM32与AD7190之间的通信正常。检查SPI接口的连接是否正确,包括数据线、时钟线和片选线。 2. 初始化问题:确保AD7190_Init()函数正确初始化了AD7190。如果初始化失败,后续操作可能无法正常进行。 3. 校准问题:您已经使用了AD7190_Calibrate()函数进行校准,但请确保校准过程成功完成。如果校准失败,读取的数值可能会有误差。 4. 增益和范围设置问题:您使用了AD7190_RangeSetup()函数设置增益和范围。请确保所选的增益和范围适合您的应用场景。 5. 通道选择问题:您使用了AD7190_ChannelSelect()函数选择通道。请确保所选通道正确,并且与您的硬件连接匹配。 6. 采样频率问题:您提到想要测试ADC的采样频率。请确保STM32的时钟设置正确,以满足AD7190的时钟要求。 7. 代码逻辑问题:检查您的代码逻辑,确保在while(1)循环中没有其他可能导致问题的操作。 8. 硬件问题:如果以上步骤都无法解决问题,请检查AD7190芯片和STM32开发板是否有硬件损坏或故障。 为了解决这个问题,您可以尝试以下步骤: 1. 确保硬件连接正确,包括SPI接口和电源。 2. 使用示波器或逻辑分析仪检查SPI通信。 3. 检查AD7190_Init()、AD7190_Calibrate()和AD7190_RangeSetup()等函数的实现,确保它们正确执行。 4. 检查STM32的时钟设置,确保满足AD7190的时钟要求。 5. 如果可能,请尝试使用其他ADC芯片或开发板进行测试,以排除硬件问题。 6. 如果问题仍然存在,请查阅AD7190的数据手册,以获取更多关于配置和故障排除的信息。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1792 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1626 浏览 1 评论
1094 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
732 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1682 浏览 2 评论
1943浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
740浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
577浏览 3评论
600浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
562浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 10:31 , Processed in 0.669520 second(s), Total 49, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号