用120MHz_HSE的頻率就會(huì)出現(xiàn)死掉重啟,用144MHz_HSE就不會(huì),完全沒問題。
? ? 也已經(jīng)2分頻了
__disable_irq();
? ? //大于96000000,需要系統(tǒng)2分頻,用完就要恢復(fù)
? ? if(SystemCoreClock > 96000000) RCC->CFGR0 |= (uint32_t)RCC_HPRE_DIV2;
? ? FLASH_Unlock();
用120MHz_HSE的頻率就會(huì)出現(xiàn)死掉重啟,用144MHz_HSE就不會(huì),完全沒問題。
? ? 也已經(jīng)2分頻了
__disable_irq();
? ? //大于96000000,需要系統(tǒng)2分頻,用完就要恢復(fù)
? ? if(SystemCoreClock > 96000000) RCC->CFGR0 |= (uint32_t)RCC_HPRE_DIV2;
? ? FLASH_Unlock();
您好,這邊針對(duì)你的問題測(cè)試了一下,并沒有出現(xiàn)你所說的問題,注意一下工程文件的配置,如ld文件、啟動(dòng)文件以及宏定義的配置等,具體如下圖。附件為我的測(cè)試?yán)?,可以參考一下。此外注意一下FLASH編程方式采用標(biāo)準(zhǔn)編程還是快速編程方式,不同編程方式對(duì)應(yīng)的解鎖讀寫操作不同,還有需要注意分頻后對(duì)應(yīng)的外設(shè)要重新進(jìn)行初始化,具體可看附件例程。后續(xù)若有問題,可將你的例程發(fā)至我的郵箱(lzs@wch.cn),這邊具體看一下。
120MHz? FlashWrite(0,(uint8_t*)EepromBuf,SizeOfEepromBuf); 之后 就會(huì)走入
void HardFault_Handler(void)
{
? ? NVIC_SystemReset();
? while (1)
? {
? }
}
這個(gè)中斷,但是144MHz就沒有任何問題
您好,可將FLASH操作代碼中2分頻之后最后需要修改為1分頻按下圖操作,這邊測(cè)試在任何主頻下都是沒有問題的,可按照下圖測(cè)試一下。后續(xù)若有問題,可繼續(xù)通過郵箱和我溝通。附件為我的測(cè)試代碼,可以測(cè)試一下。