CH32V208 芯片? CH32V20xEVT? ?RTC例程 時鐘不跑? ?
串口打印一直是◆year/month/day/week/hour/min/sec:
0-0-0? 0? 0:0:0
幫忙看一下
另外仿真測試 不會進入中斷
CH32V208 芯片? CH32V20xEVT? ?RTC例程 時鐘不跑? ?
串口打印一直是◆year/month/day/week/hour/min/sec:
0-0-0? 0? 0:0:0
幫忙看一下
另外仿真測試 不會進入中斷
您好,注意一下工程文件中l(wèi)d文件中FLASH和RAM的大小配置以及啟動文件的選擇,如下圖Flash和RAM大小配置為128+64,啟動文件選擇D8W.S這個啟動文件。附件為例程,測試是沒問題的,你可以下載再測試一下
默認(rèn)的是?CH32V20xEVT例程是
????????????? FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 160K
? ? ?RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K
那么官網(wǎng)下載的 CH32V20xEVT例程 要手動修改 為?
?
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 128K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K
? ? ??
已經(jīng)使用直接使用附件的例程了,還是不行,除了把打印串口2修改為串口1? 就沒有更改其他了
您好,請問一下測試是在我們開發(fā)板測試還是自己做的板子,注意例程配置的RTC時鐘源為LSE,檢查一下你的開發(fā)板是否有外部低速晶振,若沒有建議改用內(nèi)部。關(guān)于FLASH和RAM的配置,64+128或32+160都可以,注意下載時選擇對應(yīng)的配置應(yīng)用,如下圖。若方便,可對開發(fā)板拍照發(fā)我看(lzs@wch.cn)一下,后續(xù)問題也可繼續(xù)通過郵箱溝通
使用內(nèi)部晶振? 無外掛晶振? ? ?程序做了如下修改?但是這個RTC 時間仍然不走? ??? 單片機運行其他程序正常? ?
u8 RTC_Init(void)
{
? ? u8 temp = 0;
? ? RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
? ? PWR_BackupAccessCmd(ENABLE);
? ? /* Is it the first configuration */
? ? BKP_DeInit();
? ? RCC_LSEConfig(RCC_LSE_OFF);
? ? RCC_LSICmd(ENABLE);
? ? while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET && temp < 250)
? ? {
? ? ? ? ? ? temp++;
? ? ? ? ? ? Delay_Ms(20);
? ? }
? ? if(temp >= 250)
? ? return 1;
? ? RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI);
? ? RCC_RTCCLKCmd(ENABLE);
? ? RTC_WaitForLastTask();
? ? RTC_WaitForSynchro();
? //RTC_ITConfig(RTC_IT_ALR, ENABLE);
? ? RTC_ITConfig(RTC_IT_SEC, ENABLE);
? ? RTC_WaitForLastTask();
? ? RTC_EnterConfigMode();
? ? RTC_SetPrescaler(32767);
? ? RTC_WaitForLastTask();
? ? RTC_Set(2019, 10, 8, 13, 58, 55); /* Setup Time */
? ? RTC_ExitConfigMode();
? ? BKP_WriteBackupRegister(BKP_DR1, 0XA1A1);
? ? RTC_NVIC_Config();
? ? RTC_Get();
? ? return 0;
}
//#define SYSCLK_FREQ_HSE? ? HSE_VALUE
//#define SYSCLK_FREQ_48MHz_HSE? 48000000
//#define SYSCLK_FREQ_56MHz_HSE? 56000000
//#define SYSCLK_FREQ_72MHz_HSE? 72000000
//#define SYSCLK_FREQ_96MHz_HSE? 96000000
//#define SYSCLK_FREQ_120MHz_HSE? 120000000
//#define SYSCLK_FREQ_144MHz_HSE? 144000000
//#define SYSCLK_FREQ_HSI? ? HSI_VALUE
#define SYSCLK_FREQ_48MHz_HSI? 48000000
//#define SYSCLK_FREQ_56MHz_HSI? 56000000
//#define SYSCLK_FREQ_72MHz_HSI? 72000000
//#define SYSCLK_FREQ_96MHz_HSI? 96000000
//#define SYSCLK_FREQ_120MHz_HSI? 120000000
//#define SYSCLK_FREQ_144MHz_HSI? 144000000
您好,附件為參考例程,時鐘源已根據(jù)你的要求均改為使用內(nèi)部,測試沒問題,你可以參考一下。你的代碼中,如下圖2還是配置LSE,可以改成LSI試一下。
圖1
圖2
已經(jīng)測試正常 感謝