




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
千里之行,始于足下讓知識(shí)帶有溫度。第第2頁/共2頁精品文檔推薦stm32-PVD編程要點(diǎn)下面向上面2張圖和表格中的數(shù)據(jù)做一個(gè)簡要的解釋:
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ù),通過列出的PVD閥值數(shù)據(jù)可以看到這個(gè)差別。引入這個(gè)差值的目的是為了防止電壓在閥值上下小幅顫動(dòng),而頻繁地產(chǎn)生中斷。
2)POR=PowerOnReset上電復(fù)位;PDR=PowerDownReset掉電復(fù)位。
POR的功能是在VDD電壓由低向高升高越過規(guī)定的閥值之前,保持芯片復(fù)位,當(dāng)越過這個(gè)閥值后的一小段時(shí)光后(圖中的"滯后時(shí)光"或表中的"復(fù)位遲滯"),結(jié)束復(fù)位并取復(fù)位向量,開頭執(zhí)行指令。這個(gè)閥值就是表中倒數(shù)第4行(min=1.8,typ=1.88,max=1.96)。
POR的功能是在VDD電壓由高向低下降越過規(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升高越過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以上超過1~2.5ms,則很可能造成上電復(fù)位后MCU不能正常工作的狀況。
/view/f7352fd076a20229bd642db3.html
STM32內(nèi)部自帶PVD功能,用于對(duì)MCU供電電壓VDD舉行監(jiān)控。通過電源控制寄存器中的PLS[2:0]位可以用來設(shè)定監(jiān)控電壓的閥值,通過對(duì)外部電壓舉行比較來監(jiān)控電源。當(dāng)條件觸發(fā),需要系統(tǒng)進(jìn)入特殊庇護(hù)狀態(tài),執(zhí)行緊張關(guān)閉任務(wù):對(duì)系統(tǒng)的一些數(shù)據(jù)保存起來,同時(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表示電壓升高或下降越過設(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)過驗(yàn)證的)
/************************************************************************************************************************************************************/20221220
STM32中PVD的編程:開頭時(shí)參照網(wǎng)上的資料和技術(shù)文檔的內(nèi)容,把基本的代碼組織了,但是程序還是無法如意向的執(zhí)行(無論是用查詢方式、還是中斷方式);網(wǎng)上很少有提到解決為什么不能執(zhí)行的,沒有更多的參考,于是只能漸漸調(diào)試;
調(diào)試:首先是看PVD監(jiān)控的標(biāo)志位能否置起來,用死循環(huán)向來檢測(cè);然后要是行的話,再去用中斷的方式;
結(jié)果發(fā)覺時(shí)標(biāo)志位無法被置起來,后來再去網(wǎng)上查,對(duì)照自己的代碼,發(fā)覺,漏了一步?jīng)]舉行:就是PVD所對(duì)應(yīng)的時(shí)鐘沒有使能;
加上去后,果真能置位了。
總結(jié):細(xì)想,對(duì)于stm32的外設(shè)或者模塊的操作(配置、使用),在前期的配置中,基本上都是需要使能相應(yīng)的時(shí)鐘,而這次也是由于這個(gè)緣由而出錯(cuò);所以下次的使用中需要注重這方面的問題。
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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力企業(yè)采購管理的創(chuàng)新與實(shí)踐研究
- 2025年中國軌道交通安全系統(tǒng)行業(yè)市場深度評(píng)估及投資戰(zhàn)略規(guī)劃報(bào)告
- 2025年度體育賽事贊助合同價(jià)款調(diào)整與品牌推廣策略
- 中國主動(dòng)脈腔內(nèi)介入器械行業(yè)市場發(fā)展現(xiàn)狀及投資方向研究報(bào)告
- 2025年虛擬磁帶庫行業(yè)深度研究分析報(bào)告
- 2025年度高考志愿填報(bào)風(fēng)險(xiǎn)評(píng)估與應(yīng)對(duì)合同
- 強(qiáng)力咳喘散行業(yè)行業(yè)發(fā)展趨勢(shì)及投資戰(zhàn)略研究分析報(bào)告
- 2025年度國際礦石貿(mào)易結(jié)算與風(fēng)險(xiǎn)管理合同
- 二零二五年度房地產(chǎn)項(xiàng)目顧問服務(wù)協(xié)議
- 2025年中國整體產(chǎn)權(quán)轉(zhuǎn)讓行業(yè)市場調(diào)查研究及投資戰(zhàn)略咨詢報(bào)告
- 中華人民共和國學(xué)前教育法-知識(shí)培訓(xùn)
- 2023年新高考(新課標(biāo))全國2卷數(shù)學(xué)試題真題(含答案解析)
- 事業(yè)單位工作人員獎(jiǎng)勵(lì)審批表
- 人教版六年級(jí)美術(shù)下冊(cè)全冊(cè)課件【完整版】
- 教科版三年級(jí)下冊(cè)科學(xué)全冊(cè)完整課件
- 農(nóng)田雜草的調(diào)查
- 【知識(shí)點(diǎn)提綱】新教材-人教版高中化學(xué)必修第一冊(cè)全冊(cè)各章節(jié)知識(shí)點(diǎn)考點(diǎn)重點(diǎn)難點(diǎn)提煉匯總
- 上海小弄堂-電子小報(bào)
- 軌道交通安全專題培訓(xùn)
- 物理化學(xué)完整版答案
- 節(jié)流孔板孔徑計(jì)算
評(píng)論
0/150
提交評(píng)論