2025-11-20 06:35:20
简单来说ADC12的中断号是12或对应设备编号,中断源可能包括转换完成、超时、错误检测这些情况。比如开发手册里写着"ADC1完成采样会触发12号中断",所以中断源具体要看芯片型号和配置。
因为每个ADC模块都有独立编号,比如STM32的ADC1对应12号中断,ADC2对应13号中断。中断源分为主源和副源,主源是转换完成(手册写"EOC事件触发中断"),副源是超时("16次采样没完成自动触发")和硬件错误("ADC过载时立即中断")。数据手册说ADC12的优先级固定在3级,比普通定时器中断高。比如当设置ADC1的12号中断,同时开启EOC和OVR两种中断源时,系统会先检查哪个事件发生,优先处理错误中断。实际测试发现,如果只开EOC中断,每采样一次就跳转一次中断服务程序,而开启OVR中断后,在连续超时3次才会触发,这样能减少CPU负载。所以中断源组合要按实际需求配,不能随便开所有中断源,否则会像闹钟一样频繁打断主程序。
本题链接: