欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
STM32mini RTC時鐘日歷源代碼
[打印本頁]
作者:
1637194764
時間:
2018-5-11 21:23
標題:
STM32mini RTC時鐘日歷源代碼
STM32mini RTC時鐘單片機源程序如下:
/**
******************************************************************************
* @file main.c
* @author fire
* @version V1.0
* @date 2013-xx-xx
* @brief rtc 測試,顯示時間格式為: xx:xx:xx
*/
#include "stm32f10x.h"
#include "./usart/bsp_usart.h"
#include "./rtc/bsp_rtc.h"
#include "./key/bsp_key.h"
#include "./beep/bsp_beep.h"
// N = 2^32/365/24/60/60 = 136 年
/*時間結構體,默認時間2000-01-01 00:00:00*/
struct rtc_time systmtime=
{
0,0,0,1,1,2000,0
};
/*時間結構體,鬧鐘時間2000-01-01 00:00:08*/
struct rtc_time clocktime=
{
8,0,0,1,1,2000,0
};
extern __IO uint32_t TimeDisplay ;
extern __IO uint32_t TimeAlarm ;
//【*】注意事項:
//在bsp_rtc.h文件中:
//1.可設置宏USE_LCD_DISPLAY控制是否使用LCD顯示
//2.可設置宏RTC_CLOCK_SOURCE_LSI和RTC_CLOCK_SOURCE_LSE控制使用LSE晶振還是LSI晶振
//3.STM32的LSE晶振要求非常嚴格,同樣的電路、板子批量產品時總有些會出現問題。
// 本實驗中默認使用LSI晶振。
//
//4.!!!若希望RTC在主電源掉電后仍然運行,需要給開發板的電池槽安裝鈕扣電池,
// !!!且改成使用外部晶振模式RTC_CLOCK_SOURCE_LSE
// 鈕扣電池型號:CR1220
/**
* @brief 主函數
* @param 無
* @retval 無
*/
int main()
{
uint32_t clock_timestamp;
uint32_t current_timestamp;
//可使用該宏設置是否使用液晶顯示
#ifdef USE_LCD_DISPLAY
ILI9341_Init (); //LCD 初始化
LCD_SetFont(&Font8x16);
LCD_SetColors(RED,BLACK);
ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH); /* 清屏,顯示全黑 */
ILI9341_DispStringLine_EN(LINE(0)," BH RTC demo");
#endif
USART_Config();
Key_GPIO_Config();
BEEP_GPIO_Config();
/* 配置RTC秒中斷優先級 */
RTC_NVIC_Config();
RTC_CheckAndConfig(&systmtime);
/*設置鬧鐘寄存器*/
clock_timestamp = mktimev(&clocktime)-TIME_ZOOM;
RTC_SetAlarm(clock_timestamp);
while (1)
{
/* 每過1s 更新一次時間*/
if (TimeDisplay == 1)
{
/* 當前時間 */
current_timestamp = RTC_GetCounter();
Time_Display( current_timestamp,&systmtime);
TimeDisplay = 0;
}
//按下按鍵,通過串口修改時間
if( Key_Scan(KEY1_GPIO_PORT,KEY1_GPIO_PIN) == KEY_ON )
{
struct rtc_time set_time;
/*使用串口接收設置的時間,輸入數字時注意末尾要加回車*/
Time_Regulate_Get(&set_time);
/*用接收到的時間設置RTC*/
Time_Adjust(&set_time);
//向備份寄存器寫入標志
BKP_WriteBackupRegister(RTC_BKP_DRX, RTC_BKP_DATA);
}
//響鈴
if( TimeAlarm == 1)
{
BEEP(ON);
}
//按下按鍵,關閉蜂鳴器
if( Key_Scan(KEY2_GPIO_PORT,KEY2_GPIO_PIN) == KEY_ON )
{
BEEP(OFF);
TimeAlarm = 0;
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
2.RTC—鬧鐘實驗.zip
(341.5 KB, 下載次數: 49)
2018-5-11 21:22 上傳
點擊文件名下載附件
1
下載積分: 黑幣 -5
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1