stm32f103c8t6rtc时钟程序
时间: 2023-08-29 22:05:43 浏览: 64
下面是一个简单的stm32f103c8t6rtc时钟程序的示例代码:
```c
#include "stm32f10x.h"
RTC_InitTypeDef RTC_InitStructure;
RTC_TimeTypeDef RTC_TimeStructure;
int main(void)
{
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
PWR_BackupAccessCmd(ENABLE);
RCC_LSEConfig(RCC_LSE_ON);
while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET);
RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);
RCC_RTCCLKCmd(ENABLE);
RTC_InitStructure.RTC_AsynchPrediv = 0x7F;
RTC_InitStructure.RTC_SynchPrediv = 0x00FF;
RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24;
RTC_Init(&RTC_InitStructure);
RTC_TimeStructure.RTC_H12 = RTC_H12_PM;
RTC_TimeStructure.RTC_Hours = 0x12;
RTC_TimeStructure.RTC_Minutes = 0x30;
RTC_TimeStructure.RTC_Seconds = 0x00;
RTC_SetTime(RTC_Format_BIN, &RTC_TimeStructure);
while (1);
}
```
这个程序使用了LSE作为时钟源,并且初始化了RTC。然后,使用RTC_SetTime函数设置了当前时间为下午12点30分00秒。
当程序运行时,它将停留在while(1)循环中,可以通过其他代码来读取RTC时间并执行其他操作。