MCU应用踩坑笔记(ADC 中断 / 查询法)

问题描述

IC:SC92F7596,在使用过程中,发现一个问题,就是我们使用到了ADC功能,程序的代码如下:

ADC采样周期200ms ,采样个数:4


在使用过程中,因配置了ADC中断使能,在中断服务程序中,清除了了中断标志位。

因为我开500ms的看门狗溢出复位,但是因为

(1)当温度上升到45℃以上之后,ADC的采集时间会从us级别变到800ms,从而触发了看门狗溢出复位,红灯常亮

(2)当温度下降到30℃之后,系统又能恢复正常(红灯熄灭)。

请问这是什么原因?为什么ADC开启中断之后,会受温度影响。

解决方案:

现在我们把ADC中断的功能禁用之后,就不会有这个问题了。但是我们不知道根本原因是什么?

来自SC-FAC回复:

1.查询法与中断法同时使用为应用错误,正确应为二选一,即只使用查询法或只是用中断法;

2.同时使用查询法和中断法且芯片温度超过47℃导致采样时间过长原因为高温下芯片内部HRC频率会产生漂移(频率变快,但时钟精度控制在±1%),该状态下MCU采样ADC ADC中断标志会比while语句更快速,CPU优先处理中断服务函数,导致采样完成标志在中断服务函数中清除,进一步导致MCU卡死在while循环中无法清除WDT致使WDT超时溢出复位,且外部电路也会受温度影响,综合影响下最终表现为MCU 47℃下ADC采样卡死。

另30℃下表现为正常运行不代表不存在隐患。

综上所述,导致芯片异常原因为应用错误。

相关推荐
x_lrong7 小时前
Linux虚拟机配置jupyter环境并在宿主机访问
linux·运维·笔记·jupyter·虚拟机
蒙奇D索大7 小时前
【11408学习记录】考研数学核心考点精讲:二维随机变量(离散与连续)全面解析
笔记·学习·考研·概率论·改行学it
爱奥尼欧7 小时前
【Linux笔记】网络部分——数据链路层mac-arp
linux·网络·笔记
清风wxy7 小时前
Duilib_CEF桌面软件实战之Duilib编译与第一个界面程序
c++·笔记·ui·mfc
nenchoumi31198 小时前
ROS2 Humble 笔记(七)标准与自定义 Interface 接口
笔记·机器人·ros2
碧海潮生_CC8 小时前
【CUDA笔记】01-入门简介
笔记·cuda
开开心心就好8 小时前
微软官方出品:免费数据恢复工具推荐
网络·笔记·microsoft·pdf·word·音视频·symfony
little_xianzhong10 小时前
三个常听到的消息/中间件MQTT RabbitMQ Kafka
java·笔记·中间件·消息队列
电子科技圈11 小时前
XMOS与飞腾云联袂以模块化方案大幅加速音频产品落地
经验分享·嵌入式硬件·mcu·自然语言处理·音视频·腾讯会议·游戏机
Tracy97311 小时前
XMSRC4194_VC1:4通道192KHz ASRC音频采样率转换器产品介绍
嵌入式硬件·音视频·智能硬件·xmos模组固件