当前位置: 首页 > article >正文

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℃下表现为正常运行不代表不存在隐患。
综上所述,导致芯片异常原因为应用错误。


http://www.kler.cn/a/539526.html

相关文章:

  • Axure原型图怎么通过链接共享
  • postgresql 游标(cursor)的使用
  • 利用NestJS构建高效的RESTful API接口
  • 深度求索(DeepSeek)的AI革命:NLP、CV与智能应用的技术跃迁
  • 电脑黑屏按什么键恢复?电脑黑屏的解决办法
  • C# Winform怎么设计串口,客户端和相机控件界面显示
  • UnityShader学习笔记——渲染路径
  • 数据表记录
  • Nginx配置 ngx_http_proxy_connect_module 模块及安装
  • 加速汽车软件升级——堆栈刷写技术的应用与挑战
  • go语言文件和目录
  • RuoYi-Vue-Oracle的oracle driver驱动配置问题ojdbc8-12.2.0.1.jar的解决
  • 用jit部分python函数效率过低的问题
  • java: framework from BLL、DAL、IDAL、MODEL、Factory using oracle
  • HTML之CSS三大选择器
  • 110,【2】攻防世界 web mfw
  • ScrapeGraphAI颠覆传统网络爬虫技术
  • 未来科技趋势浅析
  • scss模块化
  • 如何用.NET Core Identity实现定制化的用户身份验证系统
  • Vue 响应式渲染 - 条件渲染
  • PHP-综合3
  • PrimeFaces Poll组件实现周期性Ajax调用
  • S4 HANA金税接口
  • STM32的HAL库开发---高级定时器---互补输出带死区实验
  • 集成开发环境GoLand安装配置结合内网穿透实现ssh远程访问服务器