STM32L151 的ADC的模擬看門狗中斷和溢出中斷
現場條件:
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處的內容
下一篇:STM32F0 ADC學習
- Keil MDK破解過程詳解[18年05月20日 11:11]
- STM32F407之模擬I2C(二)之24C128[18年05月20日 12:18]
- STM32F1使用I/0模擬I2C接口[18年05月20日 12:17]
- STM32模擬I2C程序[18年05月20日 12:13]
- STM8S 模擬I2C程序[18年05月20日 12:14]
- 普通IO口模擬實現I2C通信及應用解析[18年05月20日 12:12]