完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
使用 STM32F091 板,我将 ADC 设置为:
然后我将频道顺序设置为所有频道,如上所述。 VREFINT 通道也作为序列的一部分被捕获,以定期粗略监控 3V3 电源电压是否仍然正常。 在操作期间,当软件连续触发 ADC 序列时,我进行了以下观察:
采样时间应该不会太短,已经是最长的了。 我再次阅读了参考资料中 ADC 章节的部分,还有勘误表,没有发现任何我可能忽略的与此相关的内容。 编辑: 好的,我忘记了一件事:对于常规电压通道,我有(软件)8 倍平均,我最近添加的这个 Vrefint 监控使用该通道的原始最后一个 ADC 值将其转换回 Vdda。 禁用常规电压的平均现在稍微改变了图片,但它并没有那么奇怪:现在*一些*通道也有一个“最后一个错误时间戳”(来自 systick 的毫秒分辨率)与最后一个 Vdda 错误对齐(即超出 +/-10% 的范围)。 而其他通道,在让它运行 15 分钟后,仍然只有启动后 100 毫秒的时间戳,预计会稳定下来。 所以:我现在确实在Vrefint/Vdda 之外的某些通道上看到了这一点,但在其他通道上看不到,在示波器上也没有什么特别之处。所有通道都通过相同的代码在相同的循环中捕获,唯一的特殊处理是 Vrefint 值取自具有最后样本而不是平均样本的缓冲区。那些受到影响的渠道似乎保持不变。 即在禁用平均之前,同样受影响的通道的错误之前已被“平均掉”。使用它作为解决方案并忽略原因似乎不是一个好主意。 有趣的是受影响频道号码的模式: 0 否,1 否,2 是,3 是,4 否,5 否,6 是(在测试中未跟踪超出该范围,但似乎 2x 否,2x 是,2x 否,...) |
|
相关推荐
1个回答
|
|
当我在 1 kHz systick ISR 中停止状态 LED 切换时,有趣的行为就消失了。起初的想法可能与产生噪音的引脚切换有关。但似乎没有一行代码被注释掉是罪魁祸首,(去)激活代码的不同组合可能产生相同的结果。 所以我觉得这是关于时机的。虽然引脚切换显示我的系统运行在预期的 1 kHz,但改变它的时间(在它里面做了什么,即在调用它返回后)改变了行为。 所以我终于明白了,ADC 转换序列可能会在非常不合时宜的时候被唯一的更高优先级中断——systick 中断。 是的,当错误出现时,ADC ISR OVR 位被设置。 因为对我来说,系统具有最高优先级似乎是有意义的(毕竟,这是我的时基,而且,对需要立即对变化做出反应的引脚进行关键监控,旁边是有趣的 LED 切换), 我猜: 为此使用 DMA 最有意义吗?没想到这个应用程序需要它,但看起来我需要。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
stm32mp157的异核通信的rpmsg_sdb的m4固件和a7驱动该如何编写?
1454 浏览 0 评论
stm32f103用freertos对一个采样率为1kHz的传感器,进行采样,数据出差
1503 浏览 0 评论
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
3650 浏览 1 评论
3842 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
2461 浏览 1 评论
STM32H7打开DCache后,出现了串口接收信息为空的现象,是哪里出了问题?
728浏览 5评论
用NANO STM32F103RBT6的开发板烧录不了是哪里出了问题?
663浏览 5评论
710浏览 5评论
外部中断触发类型为双边沿触发,进入中断回调后有什么办法判断该边沿是上升沿还是下降沿?
941浏览 5评论
STM32L071CBT6低温环境下无法正常工作是什么原因引起的?
745浏览 5评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 17:22 , Processed in 0.673509 second(s), Total 74, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
361