根據(jù)st官方手冊提供描述不難看出,ADC模擬看門狗其實就是用戶可以設置一個AD值上下限值,然后打開此模擬看門狗中斷開關,那么就會在檢測到當IO輸入轉換AD值小于下限值或大于上限值時進入相應的中斷函數(shù)。大致就是這么一個功能實現(xiàn)過程。
根據(jù)表63 可以看出,模擬看門狗可以設置為多通道和單通道模式,即可以通過設置相應的寄存器位來選擇某一通道或多通道打開模擬看門狗檢測。
那么明白了以上這些基礎規(guī)則,那么我就要根據(jù)官方提供的庫文件及里面的使用說明來配置相應函數(shù)來使用模擬看門狗。
打開此文件后下一步:
看!在這個官方提供的.c文件里面已經有介紹關于模擬看門狗使用的詳細介紹的,只要理解了英文描述的意義,結合之前看數(shù)據(jù)手冊關于ADC模擬看門狗的描述就會很快的完成模擬看門狗的配置程序。
下面即是完成的模擬看門狗配置函數(shù):
最后還不要忘記加入打開看門狗中斷的函數(shù):
ADC_ITConfig(ADC1,ADC_IT_AWD,ENABLE);
完整的配置過程如下:
void NVIC_Config(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannelPriority = 3; //先占優(yōu)先級1級
NVIC_InitStructure.NVIC_IRQChannel = ADC1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能
NVIC_Init(&NVIC_InitStructure);
}
/*
模擬看門狗配置函數(shù)
單通道:7
*/
void ADC_WatchdogConfig(void)
{
ADC_AnalogWatchdogSingleChannelConfig(ADC1,ADC_AnalogWatchdog_Channel_7);
ADC_AnalogWatchdogThresholdsConfig(ADC1,4050,0);
ADC_AnalogWatchdogCmd(ADC1,ENABLE);
ADC_AnalogWatchdogSingleChannelCmd(ADC1,ENABLE);
}
以上就是對ADC模擬看門狗的使用做了一個小結,當然只是用了其中一部分功能,如有紕漏,請您指出,不勝感謝。
通過此次模擬看門狗的使用,我更加明白要利用官方資源的重要性,解鈴還須系鈴人,這句話非常適合做技術的人,當遇見問題時,無從下手或不知怎么樣下手才會效率高的解決問題時,這時就應該想到生產廠家才是解決問題的源頭關鍵,那里有相當豐富的使用說明文檔及工具資源,這樣就避免了在網絡上找不到自己用到的相關應用時而苦惱無助的情況,謹以此心得與讀者共勉!
上海意泓電子科技有限責任公司 版權所有 未經授權禁止復制或鏡像
CopyRight 2020-2025 www.hljhgw.com All rights reserved 滬ICP備2021005866號