![stm32-PVD編程要點(diǎn)-2023修改整理_第1頁(yè)](http://file4.renrendoc.com/view/a326a9bb2529e777886d621cfb0f3219/a326a9bb2529e777886d621cfb0f32191.gif)
![stm32-PVD編程要點(diǎn)-2023修改整理_第2頁(yè)](http://file4.renrendoc.com/view/a326a9bb2529e777886d621cfb0f3219/a326a9bb2529e777886d621cfb0f32192.gif)
![stm32-PVD編程要點(diǎn)-2023修改整理_第3頁(yè)](http://file4.renrendoc.com/view/a326a9bb2529e777886d621cfb0f3219/a326a9bb2529e777886d621cfb0f32193.gif)
![stm32-PVD編程要點(diǎn)-2023修改整理_第4頁(yè)](http://file4.renrendoc.com/view/a326a9bb2529e777886d621cfb0f3219/a326a9bb2529e777886d621cfb0f32194.gif)
![stm32-PVD編程要點(diǎn)-2023修改整理_第5頁(yè)](http://file4.renrendoc.com/view/a326a9bb2529e777886d621cfb0f3219/a326a9bb2529e777886d621cfb0f32195.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
千里之行,始于足下讓知識(shí)帶有溫度。第第2頁(yè)/共2頁(yè)精品文檔推薦stm32-PVD編程要點(diǎn)下面向上面2張圖和表格中的數(shù)據(jù)做一個(gè)簡(jiǎn)要的解釋:
1)PVD=ProgrammableVotageDetector可編程電壓監(jiān)測(cè)器
它的作用是監(jiān)視供電電壓,在供電電壓下降到給定的閥值以下時(shí),產(chǎn)生一個(gè)中斷,通知軟件做緊張?zhí)幚?。在給出表格的上半部分就是可編程的監(jiān)視閥值數(shù)據(jù)。當(dāng)供電電壓又恢復(fù)到給定的閥值以上時(shí),也會(huì)產(chǎn)生一個(gè)中斷,通知軟件供電恢復(fù)。供電下降的閥值與供電升高的PVD閥值有一個(gè)固定的差值,這就是表中的VPVDhyst(PVD遲滯)這個(gè)參數(shù),通過(guò)列出的PVD閥值數(shù)據(jù)可以看到這個(gè)差別。引入這個(gè)差值的目的是為了防止電壓在閥值上下小幅顫動(dòng),而頻繁地產(chǎn)生中斷。
2)POR=PowerOnReset上電復(fù)位;PDR=PowerDownReset掉電復(fù)位。
POR的功能是在VDD電壓由低向高升高越過(guò)規(guī)定的閥值之前,保持芯片復(fù)位,當(dāng)越過(guò)這個(gè)閥值后的一小段時(shí)光后(圖中的"滯后時(shí)光"或表中的"復(fù)位遲滯"),結(jié)束復(fù)位并取復(fù)位向量,開頭執(zhí)行指令。這個(gè)閥值就是表中倒數(shù)第4行(min=1.8,typ=1.88,max=1.96)。
POR的功能是在VDD電壓由高向低下降越過(guò)規(guī)定的閥值后,將在芯片內(nèi)部產(chǎn)生復(fù)位,這個(gè)閥值就是表中倒數(shù)第3行(min=1.84,typ=1.92,max=2.0)。
3)可以看到POR比PDR大了0.04V,這就是表中倒數(shù)第2行,VPDRhyst(PDR遲滯)=40mV。
4)從上面的第2張圖可以看到,當(dāng)VDD升高越過(guò)POR閥值時(shí),內(nèi)部并不馬上結(jié)束復(fù)位,而是等待一小段時(shí)光(Resettemporization),這就是表中的最后一行TRSTTEMPO,它的典型數(shù)值是2.5ms。
這個(gè)滯后時(shí)光是為了等待供電電壓能夠上升到最低牢靠工作電壓以上,我們看到POR閥值最小惟獨(dú)1.8V,最大也惟獨(dú)1.96V,都低于數(shù)據(jù)手冊(cè)中給出的最低牢靠工作電壓2.0V,所以這個(gè)滯后時(shí)光是非常須要的,假如供電電壓升高緩慢,尤其是從1.8V升到2.0V以上超過(guò)1~2.5ms,則很可能造成上電復(fù)位后MCU不能正常工作的狀況。
/view/f7352fd076a20229bd642db3.html
STM32內(nèi)部自帶PVD功能,用于對(duì)MCU供電電壓VDD舉行監(jiān)控。通過(guò)電源控制寄存器中的PLS[2:0]位可以用來(lái)設(shè)定監(jiān)控電壓的閥值,通過(guò)對(duì)外部電壓舉行比較來(lái)監(jiān)控電源。當(dāng)條件觸發(fā),需要系統(tǒng)進(jìn)入特殊庇護(hù)狀態(tài),執(zhí)行緊張關(guān)閉任務(wù):對(duì)系統(tǒng)的一些數(shù)據(jù)保存起來(lái),同時(shí)對(duì)外設(shè)舉行相應(yīng)的庇護(hù)操作。
操作流程:
1)、系統(tǒng)啟動(dòng)后啟動(dòng)PVD,并開啟相應(yīng)的中斷。
PWR_PVDLevelConfig(PWR_PVDLevel_2V8);//設(shè)定監(jiān)控閥值
PWR_PVDCmd(ENABLE);//使能PVD
EXTI_StructInit(
EXTI_InitStructure.EXTI_Line=EXTI_Line16;//PVD銜接到中斷線16上
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;//使用中斷模式
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Raising;//電壓低于閥值時(shí)產(chǎn)生中斷
EXTI_InitStructure.EXTI_LineCmd=ENABLE;//使能中斷線
EXTI_Init(//初始
EXTI_InitStructure.EXTI_Trigger的賦值可選項(xiàng):
EXTI_Trigger_Rising表示電壓從高下降到低于設(shè)定閥值時(shí)產(chǎn)生中斷;
EXTI_Trigger_Falling表示電壓從低升高到高于設(shè)定閥值時(shí)產(chǎn)生中斷;
EXTI_Trigger_Rising_Falling表示電壓升高或下降越過(guò)設(shè)定閥值時(shí)都產(chǎn)生中斷。
2)、當(dāng)工作電壓低于設(shè)定閥值時(shí),將產(chǎn)生PVD中斷,在中斷程序中舉行相應(yīng)的處理:
voidPVD_IRQHandler(void)
{
EXTI_ClearITPendingBit(EXTI_Line16);
……//用戶添加緊張?zhí)幚泶a處
}
(以上內(nèi)容是摘自網(wǎng)上的,以下內(nèi)容是開發(fā)后總結(jié)的,經(jīng)過(guò)驗(yàn)證的)
/************************************************************************************************************************************************************/20221220
STM32中PVD的編程:開頭時(shí)參照網(wǎng)上的資料和技術(shù)文檔的內(nèi)容,把基本的代碼組織了,但是程序還是無(wú)法如意向的執(zhí)行(無(wú)論是用查詢方式、還是中斷方式);網(wǎng)上很少有提到解決為什么不能執(zhí)行的,沒(méi)有更多的參考,于是只能漸漸調(diào)試;
調(diào)試:首先是看PVD監(jiān)控的標(biāo)志位能否置起來(lái),用死循環(huán)向來(lái)檢測(cè);然后要是行的話,再去用中斷的方式;
結(jié)果發(fā)覺(jué)時(shí)標(biāo)志位無(wú)法被置起來(lái),后來(lái)再去網(wǎng)上查,對(duì)照自己的代碼,發(fā)覺(jué),漏了一步?jīng)]舉行:就是PVD所對(duì)應(yīng)的時(shí)鐘沒(méi)有使能;
加上去后,果真能置位了。
總結(jié):細(xì)想,對(duì)于stm32的外設(shè)或者模塊的操作(配置、使用),在前期的配置中,基本上都是需要使能相應(yīng)的時(shí)鐘,而這次也是由于這個(gè)緣由而出錯(cuò);所以下次的使用中需要注重這方面的問(wèn)題。
PVD的詳細(xì)的編程:
基本的初始化和配置:
/**************************************************************************
//Function:voidEXTI_Configuration(void)
//Description:configures;
//Input:none;
//Output:none
//createdby:**************************************************************************/voidEXTI_Configuration(void)
{
EXTI_InitTypeDefEXTI_InitStructure;
EXTI_DeInit();
EXTI_StructInit(
EXTI_InitStructure.EXTI_Line=EXTI_Line16;
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising;
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init(
}
/**************************************************************************
//Function:voidPVD_NVIC_Configuration(void)
//Description:
//Input:none;
//Output:none
//createdby:**************************************************************************/voidPVD_NVIC_Configuration(void)
{
NVIC_InitTypeDefNVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel=PVD_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);//pointit;cann'tloseit;這個(gè)必需要加;
NVIC_Init(
}
中斷函數(shù):
externvoiddev_pvd_irq_handle(void);
voidPVD_IRQHandler(void)
{
dev_pvd_irq_handle();
}
/**************************************************************************
//Function:voiddev_pvd_irq_handle(void)
//Description:PVDhandlefunction;
//Input:none;
//Output:none
//createdby:**************************************************************************/externu8is_power_on;
voiddev_pvd_irq_handle(void)
{
EXTI_ClearITPendingBit(EXTI_Line16);//clearbit;
if(PWR_GetFlagStatus(PWR_FLAG_PVDO))
{
dev_misc_power_on(0);
}
}
主函數(shù)中的操作:
Main()
{
……
PVD_NVIC_Configuration();
EXTI_Configuration();
PWR_PVDLe
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生態(tài)農(nóng)業(yè)對(duì)改善農(nóng)村地區(qū)空氣質(zhì)量的貢獻(xiàn)分析
- 2025年度地下空間開發(fā)土石方外運(yùn)合同范本
- 電子商務(wù)物流配送現(xiàn)狀及挑戰(zhàn)分析
- 貧困生認(rèn)定申請(qǐng)書格式
- 2025年度文化創(chuàng)意產(chǎn)品個(gè)性化印制合作合同
- 電子商務(wù)背景下物流配送模式創(chuàng)新路徑研究
- 如何寫好科研項(xiàng)目申請(qǐng)書
- 2025年度房地產(chǎn)實(shí)習(xí)生就業(yè)合同
- 2025年度城市公園設(shè)施維修保養(yǎng)合同
- 紅頭文件申請(qǐng)書格式
- 中國(guó)人口研究專題報(bào)告-中國(guó)2025-2100年人口預(yù)測(cè)與政策建議-西南財(cái)經(jīng)大學(xué)x清華大學(xué)-202501
- 建筑工程安全與管理
- 幼兒園開學(xué)教師安全知識(shí)培訓(xùn)
- 2024年山東水利職業(yè)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 遼寧省名校聯(lián)盟2025年高三1月份聯(lián)合考試 語(yǔ)文試卷(含答案詳解)
- 25版六年級(jí)寒假特色作業(yè)
- 浙江省杭州市9+1高中聯(lián)盟2025屆高三一診考試英語(yǔ)試卷含解析
- 2025教科版一年級(jí)科學(xué)下冊(cè)教學(xué)計(jì)劃
- 旅游行業(yè)智慧旅游營(yíng)銷策略與方案
- 2024年醫(yī)療器械經(jīng)營(yíng)質(zhì)量管理規(guī)范培訓(xùn)課件
- 中華人民共和國(guó)學(xué)前教育法-知識(shí)培訓(xùn)
評(píng)論
0/150
提交評(píng)論