现场条件:
1.AD采集,DMA传输;AD设置为单通道的持续模式,DMA设置为单次模式。AD模拟看门狗设置的上门槛小于AD采集值,下门槛大于AD采样值,当DMA单次结束后,即会发生AD看门狗中断和溢出中断
void ADC1_IRQHandler(void)
{
if(ADC_GetITStatus(ADC1, ADC_IT_OVR) != RESET)
{
//while(1);
__NOP(); //1处
}
if(ADC_GetITStatus(ADC1, ADC_IT_AWD) != RESET)
{
//while(1);
__NOP(); //2处
}
}
此时,没有对相应位的中断标志Pendbit位的清除,所以会一直会进入中断。
现场现象:1,AD模拟看门狗会触发中断。2,在2处,和1处打上断点。进入断点的位置是,先到2处,再到1处,然后再到2处,再到1处,依次循环。
总结:
1.模拟看门狗触发时不用非要设置上门槛大于下门槛,它只判断是否AD采样值大于上门槛,和小于下门槛,进入中断后stm32没有提供给我们到底是大于上门槛中断还是小于下门槛造成的中断,只能我们自己判断。
2.看门狗中断的优先级大于溢出中断的优先级,因为它先执行2处的内容,后进行1处的内容
关键字:STM32L151 ADC 模拟看门狗 中断 溢出中断
引用地址:
STM32L151 的ADC的模拟看门狗中断和溢出中断
推荐阅读最新更新时间:2024-03-16 16:03
STM32-自学笔记(13.NVIC和外部中断)
1.NVIC,嵌套中断向量控制器。(通俗点理解就是,许多中断向量交织在一起,形成一个向量网) 和SysTick定时器一样,NVIC属于ARM Cortex-M3内核的内部设备之一,与基于此内核的控制器并无直接联系,就是说任何一款基于ARM Cortex-M3内核的微控制器都带有NVIC. 作用:用来管理中断嵌套的,主要在于优先级的管理。嵌套是什莫?,先回忆一下中断的几个概念。 中断响应:当某个中断来临,会将相应的中断标志位置位。当CPU查询到这个置位的标志位时,将响应此中断,并执行相应的中断服务函数。 中断优先级:每个中断都具有其优先级,其相互之间的优先关系一般以优先级编号较小者拥有较高优先级。而大家容易忽略的是,优
[单片机]
AVR单片机外部中断触发的流水灯程序
/* program name : 外部中断程序; 这费了我好几个小时的心血!成功的喜悦难以用言语表达! 概述: 8位流水非精确定时,一秒循环灯闪烁,等待外部中断一下降沿中断触发信号, 外部中断一旦触发,等待触发按键弹起(此时流水灯暂停状态),中断按键一旦弹 起,继续运行上一级程序(流水灯继续运行); accomplish time : 2014-2-7 22:47:15; */ #include avr/io.h #include avr/interrupt.h //中断必备的头文件; typedef unsig
[单片机]
stm32 中断函数名称表
stm32 中断服务函数的名称有点特别,它们的名称是固定的, 但是表面看起来又好像没什么规律, 还是老办法,写下来死记了。 WWDG_IRQHandler PVD_IRQHandler TAMPER_IRQHandler RTC_IRQHandler FLASH_IRQHandler RCC_IRQHandler EXTI0_IRQHandler EXTI1_IRQHandler EXTI2_IRQHandler EXTI3_IRQHandler EXTI4_IRQHandler DMA1_Channel1_IRQHandler DMA1_Channel2_IRQHan
[单片机]
KWIK电路常见问题解答 15Msps 18位ADC的驱动器设计考虑因素
常见问题解答:为15Msps 18位ADC设计输入驱动器时应该考虑哪些因素 简介 ADC驱动器是数据采集信号链设计的关键构建模块。ADC驱动器用于执行许多关键功能,如输入信号幅度调整、单端至差分转换、消除共模偏移,并经常用于实现滤波。本技术诀窍与综合知识(KWIK)电路常见问题解答(FAQ)笔记讨论如何从单端输入信号产生经调整的差分输出信号,并对信号进行电平转换以确保其满足ADC满量程的性能需求。 为了帮助回答这个常见问题,我们将使用LTC6228(一款低噪声、低失真、高速轨到轨输出运算放大器)和LTC2387-18 SAR ADC。我们将利用噪声计算显示设计对信号链解决方案的整体SNR性能的影响。 图1.–
[模拟电子]
STM32F107VCT6的外部中断配置
存在的问题:如果将GPIO15管脚用于外部中断功能,但中断处理函数中默认找不到对应的中断处理函数。 main.c文件中 int main(void) { SystemInit(); __disable_irq(); RCC_Configuration(); EXTI_Configuration(); __enable_irq(); IWWDG_Configuration(); while (1) { WDG_Func(); //每250ms喂狗一次 } } hw_config硬件配置文件中 void EXTI_Configuration(void) { EXTI_InitTypeDef EXTI_InitS
[单片机]
S3C2440裸机------触摸屏_利用ADC读取触摸屏坐标
前面我们在按下触摸屏时只是打印调试信息,现在我们再按下的中断处理函数里面增加ADC的配置代码,当我们按下后利用ADC读取触摸屏的坐标。 #include ../s3c2440_soc.h #define ADC_INT_BIT (10) #define TC_INT_BIT (9) #define INT_ADC_TC (31) /* ADCTSC's bits */ #define WAIT_PEN_DOWN (0 8) #define WAIT_PEN_UP (1 8) #define YM_ENABLE (1 7) #define YM_DISABLE (0 7) #de
[单片机]
STM32 USART DMA发送 中断接收
文件(usart.h): #ifndef _USART__H #define _USART__H #define EMPTY 0xFFFF extern vu32 uart2_transfer_complete; typedef enum { BSP_UART_STOPBITS_1=1, BSP_UART_STOPBITS_2=2 }BSP_UART_StopBits; typedef enum { BSP_UART_PARITY_NO=0, BSP_UART_PARITY_ODD=1, BSP_UART_PARITY_EVEN=2 }BSP_UART_Parity; typedef enu
[单片机]
CTDS ADC 在医疗超声系统中的应用
至今,设计人员都面对ADC选择的折衷考虑。流水线转换器提供高分辨率和宽动态范围,但其功耗相当高。另一种方法,分立时间Δ∑转换器几乎不需要太大的功率,但严格受速度所限。 CTDS ADC 连续时间Δ∑(CTDS)技术可填补转换器的空白。Xignal公司最近推出的产品可工作在40Msample/s(相当于流水线转换器的50~60Msample/s),具有12位或14位分辨率、高功能集成度(包含精确的片上时钟源),其功耗仅70mW。此产品也具有1个电阻输入级,这很容易驱动,而不用借助缓冲放大器。 图1示出CTDS ADC 与流水线转换器相对性能比较,此图是根据IEEE认可的FOM(性能因数)测量。FOM是每次转换
[医疗电子]