18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32復(fù)位來源 以及系統(tǒng)和內(nèi)核復(fù)位區(qū)別

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-02-28 17:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近有朋友問了些關(guān)于STM32復(fù)位的問題,今天結(jié)合前面文章再次總結(jié)一下復(fù)位相關(guān)知識。

1STM32的復(fù)位和時鐘控制

RCC:Reset and Clock Control

每一塊STM32中都有這么一個RCC復(fù)位和時鐘控制模塊。

STM32的復(fù)位為三類:系統(tǒng)復(fù)位、電源復(fù)位和后備域復(fù)位。

系統(tǒng)復(fù)位:

1. NRST引腳上的低電平(外部復(fù)位)

2. 窗口看門狗計(jì)數(shù)終止(WWDG復(fù)位)

3. 獨(dú)立看門狗計(jì)數(shù)終止(IWDG復(fù)位)

4. 軟件復(fù)位(SW復(fù)位)

5. 低功耗管理復(fù)位

電源復(fù)位:

1. 上電/掉電復(fù)位(POR/PDR復(fù)位)

2. 從待機(jī)模式中返回

備份區(qū)域復(fù)位:

1. 軟件復(fù)位,備份區(qū)域復(fù)位可由設(shè)置備份域控制寄存器(RCC_BDCR)中的BDRST位產(chǎn)生。

2. 在VDD和VBAT兩者掉電的前提下, VDD或VBAT上電將引發(fā)備份區(qū)域復(fù)位。

2STM32的復(fù)位來源

在很多應(yīng)用中,都會判斷是什么引起的復(fù)位。

比如:判斷為看門狗引起的復(fù)位,我們進(jìn)行xxx操作。軟件引起的復(fù)位,我們又執(zhí)行xxx操作。

在STM32RCC模塊中,有這么一個寄存器:控制/狀態(tài)寄存器 (RCC_CSR):

這個寄存器就會記錄各種復(fù)位的狀態(tài),我們直接讀取這個寄存器(庫函數(shù)有讀寄存器接口)就能知道是什么引起的復(fù)位。

3STM32的復(fù)位來源例程

之前我提供了一個簡單Demo,STM32F103ZE(Keil)_復(fù)位來源(寄存器版):

http://pan.baidu.com/s/1hskScba

4STM32系統(tǒng)和內(nèi)核復(fù)位

內(nèi)核復(fù)位:它會使STM32內(nèi)核(Cortex-M)進(jìn)行復(fù)位,而不會影響其外設(shè),如GPIO、TIM、USART、SPI等這些寄存器的復(fù)位。

系統(tǒng)復(fù)位:這個復(fù)位會使整個芯片的所有電路都進(jìn)行復(fù)位,系統(tǒng)默認(rèn)的函數(shù)接口NVIC_SystemReset就是系統(tǒng)復(fù)位(位于core_cm*.h)。

1.NVIC_CoreReset內(nèi)核復(fù)位

CM3 允許由軟件觸發(fā)復(fù)位序列,用于特殊的調(diào)試或維護(hù)目的。在CM3中,有兩種方法可以執(zhí)行自我復(fù)位。第一種方法,是通過置位 NVIC 中應(yīng)用程序中斷與復(fù)位控制寄存器(AIRCR)的VECTRESET 位(位偏移:0)。

這種復(fù)位的作用范圍覆蓋了整個CM3處理器中,除了調(diào)試邏輯之外的所有角落,但是它不會影響到 CM3 處理器外部的任何電路,所以單片機(jī)上的各片上外設(shè)和其它電路都不受影響。

C語言版函數(shù):

void NVIC_CoreReset(void){__DSB(); //置位VECTRESET SCB->AIRCR = ((0x5FA << SCB_AIRCR_VECTKEY_Pos) | (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |SCB_AIRCR_VECTRESET_Msk); __DSB(); while(1);}

匯編版函數(shù):

__asm void NVIC_CoreReset_a(void){ LDR R0, =0xE000ED0C LDR R1, =0x05FA0001 //置位VECTRESET STR R1, [R0] deadloop_Core B deadloop_Core}

內(nèi)核主要注意:

SCB_AIRCR_VECTRESET_Msk

LDR R1, =0x05FA0001

它是和系統(tǒng)復(fù)位唯一的區(qū)別。

2.NVIC_SysReset系統(tǒng)復(fù)位

系統(tǒng)復(fù)位是置位同一個寄存器中的 SYSRESETREQ 位。這種復(fù)位則會波及整個芯片上的電路:它會使 CM3 處理器把送往系統(tǒng)復(fù)位發(fā)生器的請求線置為有效。但是系統(tǒng)復(fù)位發(fā)生器不是CM3的一部分,而是由芯片廠商實(shí)現(xiàn),因此不同的芯片對此復(fù)位的響應(yīng)也不同。因此,讀者需要認(rèn)真參閱該芯片規(guī)格書,明白當(dāng)發(fā)生片內(nèi)復(fù)位時,各外設(shè)和功能模塊都會回到什么樣的初始狀態(tài),或者有哪些功能模塊不受影響(比如, STM32系列的芯片有后備存儲區(qū),該區(qū)就被特殊對待)。

大多數(shù)情況下,復(fù)位發(fā)生器在響應(yīng) SYSRESETREQ 時,它也會同時把 CM3 處理器的系統(tǒng)復(fù)位信號(SYSRESETn)置為有效。通常, SYSRESETREQ 不應(yīng)復(fù)位調(diào)試邏輯。

這里有一個要注意的問題:從 SYSRESETREQ 被置為有效,到復(fù)位發(fā)生器執(zhí)行復(fù)位命令,往往會有一個延時。在此延時期間,處理器仍然可以響應(yīng)中斷請求。但我們的本意往往是要讓此次執(zhí)行到此為止,不要再做任何其它事情了。所以,最好在發(fā)出復(fù)位請求前,先把FAULTMASK置位。因此,我在提供源代碼中有這么一句:__set_FAULTMASK(1);,也就是置位FAULTMASK。


C語言版函數(shù):

voidNVIC_SysReset(void){ __DSB(); SCB->AIRCR = ((0x5FA << SCB_AIRCR_VECTKEY_Pos) | (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | SCB_AIRCR_SYSRESETREQ_Msk); __DSB(); while(1);}

匯編版函數(shù):

__asm void NVIC_SysReset_a(void){ LDR R0, =0xE000ED0C LDR R1, =0x05FA0004 STR R1, [R0] deadloop_Sys B deadloop_Sys}

內(nèi)核復(fù)位與系統(tǒng)源代碼和相近,差異在于SYSRESETREQ和SYSRESETREQ這兩位。

關(guān)于復(fù)位的知識,在實(shí)際項(xiàng)目中應(yīng)用的比較多。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2301

    文章

    11096

    瀏覽量

    370001
  • 引腳
    +關(guān)注

    關(guān)注

    16

    文章

    2001

    瀏覽量

    54754
  • 電復(fù)位
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    6171
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    GraniStudio:軸復(fù)位例程

    功能說明 實(shí)現(xiàn)單軸復(fù)位、兩軸同時復(fù)位以及兩軸順序復(fù)位功能。 2.1通過初始化運(yùn)控板卡算子連接格拉尼總線型運(yùn)控卡,導(dǎo)入工程自動進(jìn)行連接,此算子為使用運(yùn)控控制板卡的第一項(xiàng)操作,后續(xù)運(yùn)控算子
    的頭像 發(fā)表于 08-22 16:05 ?396次閱讀
    GraniStudio:軸<b class='flag-5'>復(fù)位</b>例程

    絕對值編碼器復(fù)位:工業(yè)自動化的精準(zhǔn)重啟藝術(shù)

    在工業(yè)自動化領(lǐng)域,絕對值編碼器如同設(shè)備的“數(shù)字羅盤”,以機(jī)械位置為基準(zhǔn)生成唯一二進(jìn)制編碼,實(shí)現(xiàn)斷電后位置數(shù)據(jù)零丟失的精準(zhǔn)定位。然而,當(dāng)首次安裝、電池更換或系統(tǒng)故障觸發(fā)警報(bào)時,如何通過科學(xué)復(fù)位喚醒
    的頭像 發(fā)表于 07-24 08:41 ?465次閱讀
    絕對值編碼器<b class='flag-5'>復(fù)位</b>:工業(yè)自動化的精準(zhǔn)重啟藝術(shù)

    GraniStudio零代碼平臺軸復(fù)位算子支持多少個軸同時復(fù)位,有哪些回零模式?

    GraniStudio平臺在軸復(fù)位的功能上未對同時復(fù)位的軸數(shù)進(jìn)行硬性限制,理論上支持任意數(shù)量軸同步復(fù)位,需要考慮的是在做多軸同步復(fù)位時要評估機(jī)械安全風(fēng)險(xiǎn),建議提前確認(rèn)機(jī)械在多軸同時
    的頭像 發(fā)表于 07-07 18:02 ?405次閱讀
    GraniStudio零代碼平臺軸<b class='flag-5'>復(fù)位</b>算子支持多少個軸同時<b class='flag-5'>復(fù)位</b>,有哪些回零模式?

    復(fù)位電路的核心功能和主要類型

    復(fù)位電路(Reset Circuit) 是數(shù)字系統(tǒng)中的關(guān)鍵功能模塊,用于確保設(shè)備在上電、電壓波動或異常狀態(tài)下可靠復(fù)位至初始狀態(tài)。其設(shè)計(jì)直接影響系統(tǒng)的穩(wěn)定性和抗干擾能力。
    的頭像 發(fā)表于 06-30 14:24 ?653次閱讀
    <b class='flag-5'>復(fù)位</b>電路的核心功能和主要類型

    單片機(jī)各種復(fù)位電路原理

    使用哪種類型的單片機(jī),總要涉及到單片機(jī)復(fù)位電路的設(shè)計(jì)。而單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個系統(tǒng)工作的可靠性。許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機(jī)
    發(fā)表于 05-30 16:53

    LM3724系列 低功率電壓監(jiān)控和復(fù)位IC,帶手動復(fù)位功能數(shù)據(jù)手冊

    LM3722/LM3723/LM3724 微處理器監(jiān)控電路可監(jiān)控電源 在微處理器和數(shù)字系統(tǒng)中。它們在上電期間為微處理器提供復(fù)位, 掉電、掉電條件和手動復(fù)位。 LM3722/LM3723
    的頭像 發(fā)表于 04-12 11:11 ?669次閱讀
    LM3724系列 低功率電壓監(jiān)控和<b class='flag-5'>復(fù)位</b>IC,帶手動<b class='flag-5'>復(fù)位</b>功能數(shù)據(jù)手冊

    TPS3840-Q1 具有手動復(fù)位和可編程復(fù)位時間延遲的汽車高輸入電壓監(jiān)控器數(shù)據(jù)手冊

    當(dāng) VDD 上的電壓降至負(fù)電壓閾值 (V 以下) 時,復(fù)位輸出信號被置位 ~它-~ ) 或當(dāng)手動復(fù)位被拉至低邏輯 (V ~MR_L~ ).當(dāng) V 時 reset 信號被清除~DD 系列~上升到 V
    的頭像 發(fā)表于 04-10 11:20 ?550次閱讀
    TPS3840-Q1 具有手動<b class='flag-5'>復(fù)位</b>和可編程<b class='flag-5'>復(fù)位</b>時間延遲的汽車高輸入電壓監(jiān)控器數(shù)據(jù)手冊

    TPS3870-Q1 具有延時和手動復(fù)位功能的汽車級高精度過壓復(fù)位 IC數(shù)據(jù)手冊

    TPS3870-Q1 器件是一款集成過壓 (OV) 監(jiān)控器或復(fù)位 IC,采用業(yè)界最小的 6 引腳 DSE 封裝。這款高精度電壓監(jiān)控器非常適合在低電壓電源軌上工作且具有窄裕量電源容差的系統(tǒng)。低閾值遲滯
    的頭像 發(fā)表于 04-10 11:09 ?447次閱讀
    TPS3870-Q1 具有延時和手動<b class='flag-5'>復(fù)位</b>功能的汽車級高精度過壓<b class='flag-5'>復(fù)位</b> IC數(shù)據(jù)手冊

    TLV840系列 具有可調(diào)復(fù)位時間延遲和手動復(fù)位功能的低壓監(jiān)控器數(shù)據(jù)手冊

    TLV840 系列電壓監(jiān)控器或復(fù)位 IC 可在高電壓水平下工作,同時在整個 VDD 和溫度范圍內(nèi)保持極低的靜態(tài)電流。TLV840 提供低功耗、高精度和低傳播延遲 (t p_HL = 30 μs
    的頭像 發(fā)表于 04-10 10:17 ?582次閱讀
    TLV840系列 具有可調(diào)<b class='flag-5'>復(fù)位</b>時間延遲和手動<b class='flag-5'>復(fù)位</b>功能的低壓監(jiān)控器數(shù)據(jù)手冊

    復(fù)位電路的作用、控制方式和類型

    復(fù)位電路也是數(shù)字邏輯設(shè)計(jì)中常用的電路,不管是 FPGA 還是 ASIC 設(shè)計(jì),都會涉及到復(fù)位,一般 FPGA或者 ASIC 的復(fù)位需要我們自己設(shè)計(jì)復(fù)位方案。
    的頭像 發(fā)表于 03-12 13:54 ?3233次閱讀
    <b class='flag-5'>復(fù)位</b>電路的作用、控制方式和類型

    AN-686: 實(shí)現(xiàn)I2C復(fù)位

    電子發(fā)燒友網(wǎng)站提供《AN-686: 實(shí)現(xiàn)I2C復(fù)位.pdf》資料免費(fèi)下載
    發(fā)表于 01-15 16:26 ?0次下載
    AN-686: 實(shí)現(xiàn)I2C<b class='flag-5'>復(fù)位</b>

    EE-64:設(shè)置復(fù)位時的模式引腳

    電子發(fā)燒友網(wǎng)站提供《EE-64:設(shè)置復(fù)位時的模式引腳.pdf》資料免費(fèi)下載
    發(fā)表于 01-14 15:14 ?0次下載
    EE-64:設(shè)置<b class='flag-5'>復(fù)位</b>時的模式引腳

    C2000? MCU在有器件復(fù)位時的實(shí)時固件更新

    電子發(fā)燒友網(wǎng)站提供《C2000? MCU在有器件復(fù)位時的實(shí)時固件更新.pdf》資料免費(fèi)下載
    發(fā)表于 11-25 14:16 ?0次下載
    C2000? MCU在有器件<b class='flag-5'>復(fù)位</b>時的實(shí)時固件更新

    FPGA復(fù)位的8種技巧

    在 FPGA 設(shè)計(jì)中,復(fù)位起到的是同步信號的作用,能夠?qū)⑺械拇鎯υO(shè)置成已知狀態(tài)。在數(shù)字電路設(shè)計(jì)中,設(shè)計(jì)人員一般把全局復(fù)位作為一個外部引腳來實(shí)現(xiàn),在加電的時候初始化設(shè)計(jì)。全局復(fù)位引腳與任何
    的頭像 發(fā)表于 11-16 10:18 ?1545次閱讀
    FPGA<b class='flag-5'>復(fù)位</b>的8種技巧

    復(fù)位電路的設(shè)計(jì)問題

    前言 最近看advanced fpga 以及fpga設(shè)計(jì)實(shí)戰(zhàn)演練中有講到復(fù)位電路的設(shè)計(jì),才知道復(fù)位電路有這么多的門道,而不是簡單的外界信號輸入系統(tǒng)復(fù)
    的頭像 發(fā)表于 11-15 11:13 ?783次閱讀
    <b class='flag-5'>復(fù)位</b>電路的設(shè)計(jì)問題