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
帮忙看一下
另外仿真测试 不会进入中断
您好,注意一下工程文件中ld文件中FLASH和RAM的大小配置以及启动文件的选择,如下图Flash和RAM大小配置为128+64,启动文件选择D8W.S这个启动文件。附件为例程,测试是没问题的,你可以下载再测试一下
默认的是 CH32V20xEVT例程是
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 160K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K
那么官网下载的 CH32V20xEVT例程 要手动修改 为?
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 128K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K
已经使用直接使用附件的例程了,还是不行,除了把打印串口2修改为串口1 就没有更改其他了
您好,请问一下测试是在我们开发板测试还是自己做的板子,注意例程配置的RTC时钟源为LSE,检查一下你的开发板是否有外部低速晶振,若没有建议改用内部。关于FLASH和RAM的配置,64+128或32+160都可以,注意下载时选择对应的配置应用,如下图。若方便,可对开发板拍照发我看(lzs@wch.cn)一下,后续问题也可继续通过邮箱沟通
使用内部晶振? 无外挂晶振? ? ?程序做了如下修改?但是这个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
已经测试正常 感谢