在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

如何實(shí)現(xiàn)stm32單片機(jī)每次接上電源就進(jìn)行一次重啟動(dòng)?

工程師鄧生 ? 來(lái)源:未知 ? 作者:劉芹 ? 2023-09-14 14:22 ? 次閱讀

如何實(shí)現(xiàn)stm32單片機(jī)每次接上電源就進(jìn)行一次重啟動(dòng)?

嵌入式系統(tǒng)中,單片機(jī)的重啟有時(shí)是十分必要的,它可以解決一些系統(tǒng)啟動(dòng)過(guò)程中的問(wèn)題、恢復(fù)系統(tǒng)的正常運(yùn)行、使系統(tǒng)更加穩(wěn)定等。

然而,有時(shí)候我們需要每次接上電源就進(jìn)行一次重啟,也就是實(shí)現(xiàn)系統(tǒng)的自動(dòng)重啟。本文將給出一個(gè)思路,來(lái)實(shí)現(xiàn)stm32單片機(jī)每次接上電源就進(jìn)行一次重啟動(dòng)。

一、背景知識(shí)

嵌入式系統(tǒng)中,有兩類(lèi)重啟,分別是軟重啟和硬重啟。

1.1 軟重啟

軟重啟是指通過(guò)程序控制單片機(jī)重新開(kāi)始執(zhí)行,實(shí)現(xiàn)系統(tǒng)的重啟。在stm32單片機(jī)中,一般采用如下代碼進(jìn)行軟重啟:

```c
NVIC_SystemReset(); //調(diào)用此函數(shù)進(jìn)行軟重啟
```

1.2 硬重啟

硬重啟是指通過(guò)硬件控制單片機(jī)重新開(kāi)始執(zhí)行,實(shí)現(xiàn)系統(tǒng)的重啟。在stm32單片機(jī)中,硬重啟通常是通過(guò)復(fù)位按鍵進(jìn)行操作的。復(fù)位按鍵的功能是將單片機(jī)的復(fù)位引腳拉低,在一定時(shí)間后再拉高,從而實(shí)現(xiàn)單片機(jī)的重啟。

二、實(shí)現(xiàn)思路

了解了軟重啟和硬重啟之后,我們來(lái)思考如何實(shí)現(xiàn)stm32單片機(jī)每次接上電源就進(jìn)行一次重啟動(dòng)。下面是一種實(shí)現(xiàn)思路:

2.1 硬重啟

由于我們需要每次接上電源就進(jìn)行一次重啟,所以需要采用硬重啟的方式。同時(shí),我們還需要在重啟之前有一個(gè)短暫的延時(shí),以確保系統(tǒng)已經(jīng)穩(wěn)定運(yùn)行。

在stm32單片機(jī)中,硬重啟通常是通過(guò)復(fù)位按鍵進(jìn)行操作的。我們可以在單片機(jī)的復(fù)位引腳和復(fù)位按鍵之間串聯(lián)一個(gè)帶有一定延時(shí)的電容,使得單片機(jī)在接電源,電容充電過(guò)程中,復(fù)位引腳的電平保持低電平,從而實(shí)現(xiàn)單片機(jī)的重啟。

2.2 延時(shí)

在實(shí)際應(yīng)用中,需要根據(jù)系統(tǒng)的不同運(yùn)行環(huán)境和實(shí)際需求來(lái)設(shè)置延時(shí)的時(shí)間。由于系統(tǒng)重啟時(shí),CPU還沒(méi)有開(kāi)始執(zhí)行代碼,也就是沒(méi)有時(shí)鐘信號(hào)產(chǎn)生,所以我們需要在復(fù)位電容電壓升高之前就將系統(tǒng)時(shí)鐘啟動(dòng),以保證系統(tǒng)能夠穩(wěn)定運(yùn)行。在stm32單片機(jī)中,我們可以通過(guò)設(shè)置RCC_CR寄存器中的HSEON位或HSION位來(lái)啟動(dòng)時(shí)鐘。

三、代碼實(shí)現(xiàn)

實(shí)現(xiàn)思路已經(jīng)確定,下面給出相應(yīng)的代碼實(shí)現(xiàn)。

3.1 延時(shí)函數(shù)

為了實(shí)現(xiàn)正確的延時(shí),我們需要在代碼中實(shí)現(xiàn)一個(gè)延時(shí)函數(shù)。下面是一種簡(jiǎn)單的延時(shí)函數(shù)實(shí)現(xiàn):

```c
void delay(uint32_t n) {
while(n--) {
asm("nop");
}
}
```

3.2 硬重啟

在stm32單片機(jī)中,復(fù)位引腳的引腳號(hào)為NRST,一般被定義為GPIOA的第0號(hào)引腳(PA0)。同時(shí),我們還需要在復(fù)位引腳和復(fù)位按鍵之間串聯(lián)一個(gè)帶有一定延時(shí)的電容。

```c
void Reset_System(void) {
//延時(shí)一段時(shí)間
delay(0xFFFFF);
//啟動(dòng)時(shí)鐘
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON); //啟動(dòng)外部高速晶振
RCC_WaitForHSEStartUp(); //等待外部高速晶振就緒
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSE); //將外部高速晶振選為系統(tǒng)時(shí)鐘
RCC_HCLKConfig(RCC_SYSCLK_Div1); //選擇AHB時(shí)鐘為HCLK
RCC_PCLK2Config(RCC_HCLK_Div1); //選擇APB2時(shí)鐘為HCLK
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
//復(fù)位引腳配置
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//將NRST引腳拉低一段時(shí)間,模擬復(fù)位按鍵的按下操作
GPIO_ResetBits(GPIOA, GPIO_Pin_0);
delay(0x3FF);
//將NRST引腳拉高,完成重啟操作
GPIO_SetBits(GPIOA, GPIO_Pin_0);
}
```

3.3 主函數(shù)

在主函數(shù)中,我們對(duì)函數(shù)進(jìn)行調(diào)用即可。

```c
int main(void) {
Reset_System();
//其他代碼
}
```

四、總結(jié)

本文介紹了實(shí)現(xiàn)stm32單片機(jī)每次接上電源就進(jìn)行一次重啟動(dòng)的思路,并給出相應(yīng)的代碼實(shí)現(xiàn)。

在實(shí)際應(yīng)用中,我們可以根據(jù)系統(tǒng)的不同運(yùn)行環(huán)境和實(shí)際需求,來(lái)設(shè)置延時(shí)的時(shí)間和復(fù)位電容的大小。同時(shí),我們還可以采用軟重啟的方式來(lái)滿(mǎn)足不同的需求。

最后,需要注意的是,重啟操作可能會(huì)對(duì)系統(tǒng)的穩(wěn)定性產(chǎn)生影響,應(yīng)根據(jù)實(shí)際需求來(lái)考慮是否需要進(jìn)行系統(tǒng)的重啟。

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

    關(guān)注

    31

    文章

    5362

    瀏覽量

    120895
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3614

    瀏覽量

    129631
  • RCC
    RCC
    +關(guān)注

    關(guān)注

    0

    文章

    93

    瀏覽量

    26986
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1216

    瀏覽量

    52266
  • STM32單片機(jī)
    +關(guān)注

    關(guān)注

    59

    文章

    549

    瀏覽量

    58757
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    一次電源與二電源有什么不同

    在電力系統(tǒng)和電子設(shè)備的供電領(lǐng)域中,一次電源與二電源是兩個(gè)至關(guān)重要的概念。它們各自承擔(dān)著不同的功能和角色,共同確保電力供應(yīng)的穩(wěn)定性和可靠性。本文將對(duì)
    的頭像 發(fā)表于 10-10 14:10 ?2450次閱讀

    stm32單片機(jī)用什么軟件編程

    STM32單片機(jī)種廣泛應(yīng)用于嵌入式系統(tǒng)領(lǐng)域的微控制器,具有高性能、低功耗、豐富的外設(shè)接口等特點(diǎn)。要對(duì)STM32單片機(jī)
    的頭像 發(fā)表于 09-02 10:16 ?1809次閱讀

    stm32單片機(jī)引腳介紹及功能

    STM32系列單片機(jī)是STMicroelectronics(意法半導(dǎo)體)推出的款基于ARM Cortex-M內(nèi)核的32位微控制器。STM32單片機(jī)
    的頭像 發(fā)表于 09-02 09:38 ?6630次閱讀

    “AT+SAVETRANSLINK保存透?jìng)鬟B接到Flash”函數(shù),是否每次調(diào)用該命令時(shí),都會(huì)對(duì)FLASH進(jìn)行一次寫(xiě)操作?

    關(guān)于“AT+SAVETRANSLINK – 保存透?jìng)鬟B接到Flash”這個(gè)函數(shù),請(qǐng)問(wèn)是否每次調(diào)用該命令時(shí),都會(huì)對(duì)FLASH進(jìn)行一次寫(xiě)操作,即使寫(xiě)之后的信息和寫(xiě)之前是樣的? 比如,假
    發(fā)表于 07-15 08:00

    基于STM32單片機(jī)的智能溫控風(fēng)扇系統(tǒng)設(shè)計(jì)

    系統(tǒng)通過(guò)STM32單片機(jī)進(jìn)行主控,系統(tǒng)內(nèi)通過(guò)溫度傳感器進(jìn)行溫度檢測(cè),并通過(guò)顯示屏進(jìn)行顯示。系統(tǒng)內(nèi)分為手動(dòng)和自動(dòng)兩種控制方式,在手動(dòng)模式下通過(guò)
    的頭像 發(fā)表于 06-27 10:23 ?4435次閱讀
    基于<b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>的智能溫控風(fēng)扇系統(tǒng)設(shè)計(jì)

    基于STM32單片機(jī)的簡(jiǎn)易波形發(fā)生器設(shè)計(jì)

    系統(tǒng)內(nèi)使用STM32單片機(jī)進(jìn)行主控,proteus內(nèi)部集成示波器,使用按鍵可以調(diào)節(jié)波形的輸出方式,在示波器上可以實(shí)時(shí)觀察波形的變化。
    的頭像 發(fā)表于 06-27 10:18 ?2139次閱讀
    基于<b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>的簡(jiǎn)易波形發(fā)生器設(shè)計(jì)

    基于STM32單片機(jī)的智能冰箱控制系統(tǒng)設(shè)計(jì)

    基于單片機(jī)設(shè)計(jì)的款智能冰箱控制系統(tǒng),可以控制冰箱的制冷裝置,可以采集冰箱的異味濃度,超過(guò)閩值之后控制紫外燈進(jìn)行消毒工作單片機(jī)采用單片機(jī)采用
    的頭像 發(fā)表于 06-25 09:21 ?1339次閱讀
    基于<b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>的智能冰箱控制系統(tǒng)設(shè)計(jì)

    STM320H750 USB通訊必須插拔一次才正常,為什么?

    我是兩個(gè)ENDPOINT個(gè) 收 個(gè)發(fā),最大64字節(jié) 我收上位機(jī)發(fā)送個(gè)命令后,下位機(jī)上傳數(shù)據(jù) 我用BusHound 調(diào)試,下發(fā)命令正常,但是
    發(fā)表于 05-27 06:54

    51、STM32單片機(jī)的編程方式樣嗎?

    STM32和51單片機(jī)是兩種常見(jiàn)的單片機(jī)系列,它們?cè)谟布軜?gòu)、性能特點(diǎn)和編程方式等方面有所不同。但是從c語(yǔ)言編程的角度來(lái)說(shuō),我認(rèn)為是大同小異的。我們來(lái)對(duì)比下它們的編程特點(diǎn):51&am
    的頭像 發(fā)表于 05-18 08:04 ?2419次閱讀
    51、<b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>的編程方式<b class='flag-5'>一</b>樣嗎?

    STM32單片機(jī)有哪幾種常見(jiàn)的開(kāi)發(fā)環(huán)境?

    STM32單片機(jī)款廣泛應(yīng)用于嵌入式系統(tǒng)開(kāi)發(fā)的單片機(jī),針對(duì)其開(kāi)發(fā),有以下幾種常見(jiàn)的方式:STM32單片
    的頭像 發(fā)表于 05-18 08:04 ?3228次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>有哪幾種常見(jiàn)的開(kāi)發(fā)環(huán)境?

    stm32使用emwin定時(shí)器每s讀取一次時(shí)間,會(huì)出現(xiàn)跳秒的原因?

    使用emwin 定時(shí)器 每s 讀取一次時(shí)間,發(fā)現(xiàn)會(huì)出現(xiàn)跳秒的情況,是怎么個(gè)情況? 時(shí)鐘使用的是 stm32 單片機(jī)自帶的 rtc
    發(fā)表于 04-28 07:34

    STM32單片機(jī)最小化系統(tǒng)設(shè)計(jì)原理

    STM32最小系統(tǒng),就是能讓STM32單片機(jī)能夠正常工作所必須擁有的組成部分的集合,也是STM32單片機(jī)正常運(yùn)行的必要環(huán)境。
    發(fā)表于 04-23 14:54 ?2966次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>最小化系統(tǒng)設(shè)計(jì)原理

    AVR單片機(jī)外接16M晶振和STM32F103外接8MHZ運(yùn)行速度哪個(gè)更快?

    同樣的程序進(jìn)行比較: AVR單片機(jī)外接16M晶振:運(yùn)行程序是矩陣按鍵掃描采用定時(shí)器中斷100ms掃描一次、還有串口接收中斷程序1S接收一次運(yùn)行程序上后,串口接收中斷程序不會(huì)影響矩陣按鍵
    發(fā)表于 04-23 07:43

    STM32L151RCT6單片機(jī)下載完程序不斷電重啟進(jìn)不了低功耗怎么解決?

    最近遇到個(gè)很奇怪的問(wèn)題,使用的是stm32L151RCT6單片機(jī),固件庫(kù)用的是STM32Cube_FW_L1_V1.8.1,程序中有低功耗的部分,當(dāng)我下載完程序然后將設(shè)備徹底斷電
    發(fā)表于 04-12 07:07

    STM32F205利用DMA實(shí)現(xiàn)多通道ADC采樣,但是每啟動(dòng)一次轉(zhuǎn)換才能更新一次結(jié)果是為什么?

    mode; 3、軟件SWSTART啟動(dòng)AD轉(zhuǎn)換后,每啟動(dòng)一次內(nèi)存中只有一次轉(zhuǎn)換結(jié)果更新,要完成12采樣需要SWSTART
    發(fā)表于 03-27 06:37
    主站蜘蛛池模板: 免费高清特黄a 大片| 国产中文99视频在线观看| 超级极品白嫩美女在线| 国产精品嫩草影院一二三区入口| 黄色三级网站免费| 国产视频三区| 5月色婷婷| 99热手机在线观看| 国产精品国产三级在线高清观看 | 萌白酱白丝护士服喷水铁牛tv| 毛片大全在线| 超级狂色而且免费又超好看| 天天做日日爱| 国产免费一级在线观看| 黄在线观看网站| 美女扒开尿囗给男生桶爽| 亚洲毛片网| 日韩特黄毛片| 国产小视频免费在线观看| 一本到在线观看视频不卡| 免费观看一级一片| 成人最新午夜免费视频| 国产精品久久久久久免费播放| 性 色 黄 一级| 欧美成人久久| aaaa大片| 久久精品隔壁老王影院| 456亚洲人成影院在线观| 2级毛片| 四虎884| 韩国三级日本三级在线观看| 午夜小福利| 色www国产阿娇| 伊人婷婷涩六月丁香七月| 日本午夜大片免费观看视频| 国产三级中文字幕| 日日射夜夜| 中文字幕一区二区三区在线观看 | 精品一区二区在线观看| 亚洲综合色在线观看| 五月天情网|