人妻系列无码专区av在线,国内精品久久久久久婷婷,久草视频在线播放,精品国产线拍大陆久久尤物

當前位置:首頁 > 編程技術(shù) > 正文

stm32f4如何軟復位

stm32f4如何軟復位

STM32F4系列微控制器可以通過軟件方式實現(xiàn)復位,主要有以下幾種方法:1. 軟件復位(Software Reset): 使用SCB(System Control Bl...

STM32F4系列微控制器可以通過軟件方式實現(xiàn)復位,主要有以下幾種方法:

1. 軟件復位(Software Reset):

使用SCB(System Control Block)寄存器:

AIRCR(Alignment and Interrupt Control Register):通過設(shè)置該寄存器的SYSRESETREQ位,可以觸發(fā)系統(tǒng)復位。

```c

SCB->AIRCR = (SCB->AIRCR & ~SCB_AIRCR_VECTKEY_Msk) SCB_AIRCR_VECTKEY_Msk SCB_AIRCR_SYSRESETREQ_Msk;

```

BKPR(Backup Register):通過修改BKPR寄存器,也可以觸發(fā)系統(tǒng)復位。

使用RCC(Reset and Clock Control)寄存器:

RCC_AIRCR:設(shè)置該寄存器的RESET位,也可以觸發(fā)系統(tǒng)復位。

```c

RCC->APB1ENR = RCC_APB1ENR_PWREN; // 使能電源接口時鐘

RCC->APB1ENR = RCC_APB1ENR_BKPEN; // 使能備份寄存器時鐘

RCC->BKP->BKP0R = 0x9A5A; // 設(shè)置復位密碼

RCC->BKP->BKP0R = 0x5A9A; // 設(shè)置復位密碼

RCC->APB1ENR &= ~RCC_APB1ENR_PWREN; // 關(guān)閉電源接口時鐘

RCC->APB1ENR &= ~RCC_APB1ENR_BKPEN; // 關(guān)閉備份寄存器時鐘

RCC->APB1ENR = RCC_APB1ENR_RCCEN; // 使能RCC時鐘

RCC->CR = RCC_CR_HSEON; // 開啟外部高速時鐘

RCC->CR = RCC_CR_PLLON; // 開啟PLL時鐘

RCC->CR = RCC_CR_PLLRDY; // 等待PLL時鐘就緒

RCC->CR = RCC_CR_HSION; // 開啟HSI時鐘

RCC->CR = RCC_CR_HSIRDY; // 等待HSI時鐘就緒

RCC->CFGR = RCC_CFGR_SW_HSI; // 設(shè)置系統(tǒng)時鐘為HSI

RCC->CR = RCC_CR_PLLRDY; // 等待PLL時鐘就緒

RCC->CFGR = RCC_CFGR_PLLSRC_HSE; // 設(shè)置PLL時鐘源為HSE

RCC->CFGR = RCC_CFGR_PLLMULL12; // 設(shè)置PLL倍頻為12

RCC->CFGR = RCC_CFGR_PLLQ9; // 設(shè)置PLL分頻為9

RCC->CFGR = RCC_CFGR_PLLP; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLR; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLU; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLV; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLX; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLY; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLZ; // 設(shè)置PLL分頻為2

RCC->CFGR = RCC_CFGR_PLLW; // 設(shè)置PLL分頻