您好,歡迎訪問上海現易電子元器件有限公司網站!
現場條件:
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處的內容
上海現易電子元器件有限公司 版權所有 未經授權禁止復制或鏡像
CopyRight 2020-2025 www.urqm.cn All rights reserved 滬ICP備2020031792號