久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: GD32F307開發板的RTC電子時鐘 [打印本頁]

作者: jinglixixi    時間: 2020-11-26 01:01
標題: GD32F307開發板的RTC電子時鐘
本帖最后由 jinglixixi 于 2020-11-26 08:28 編輯

GD32307E-START開發板是具備RTC計時功能的,但它的RTC似乎并不是真正的RTC,后面大家從程序中就會發現端倪。

將串行通訊功能和RTC計時功能相結合,能快速地驗證 RTC電子時鐘,見下圖所示。

此外,若為它配上一個OLED屏,那觀察起來就更方便了。


RTC電子時鐘


那該然后實現上面的功能的呢?

它會涉及到幾個關鍵函數:


  1. void time_display(uint32_t timevar)
  2. {
  3.     uint32_t thh = 0, tmm = 0, tss = 0;
  4.     if(timevarp!=timevar)
  5.     {
  6.     /* compute  hours */
  7.     thh = timevar / 3600;
  8.     /* compute minutes */
  9.     tmm = (timevar % 3600) / 60;
  10.     /* compute seconds */
  11.     tss = (timevar % 3600) % 60;
  12.    printf(" Time: %0.2d:%0.2d:%0.2d\r\n", thh, tmm, tss);
  13.    timevarp=timevar;        
  14.     }
  15. }

復制代碼

前面我們已經賣過關子了,你看它的RTC是沒有專門的寄存器來存放時、分、秒的時間值,而是通過timevar變量來解算出的。


  1. void time_show(void)
  2. {
  3.     printf("\n\r");
  4.         timedisplay = 1;
  5.         /* infinite loop */
  6.         while (1)
  7.         {
  8.         /* if 1s has paased */
  9.         if (timedisplay == 1)
  10.         {
  11.             /* display current time */
  12.             time_display(rtc_counter_get());
  13.         }
  14.     }
  15. }

復制代碼
實現RTC時鐘顯示功能的主程序為:

  1. int main(void)
  2. {
  3.     /* configure systick */
  4.     systick_config();
  5.     /* configure EVAL_COM1 */
  6.     gd_eval_com_init(EVAL_COM1);
  7.     /* NVIC config */
  8.     nvic_configuration();
  9.     printf( "\r\nThis is a RTC demo...... \r\n" );
  10.     if (bkp_read_data(BKP_DATA_0) != 0xA5A5)
  11.     {
  12.         // backup data register value is not correct or not yet programmed
  13.         //(when the first time the program is executed)
  14.         printf("\r\nThis is a RTC demo!\r\n");
  15.         printf("\r\n\n RTC not yet configured....");
  16.         // RTC configuration
  17.         rtc_configuration();
  18.         printf("\r\n RTC configured....");
  19.         // adjust time by values entred by the user on the hyperterminal
  20.         time_adjust();
  21.         bkp_write_data(BKP_DATA_0, 0xA5A5);
  22.     }
  23.     // display time in infinite loop
  24.     time_show();
  25. }

復制代碼









歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 综合国产 | 午夜影院中文字幕 | 日日爱av| www精品| 中文字幕丁香5月 | 国产在线第一页 | 成人免费一区二区三区视频网站 | 亚洲日本欧美日韩高观看 | 国产成人精品999在线观看 | 成人国产一区二区三区精品麻豆 | 激情自拍偷拍 | 中文字幕av在线 | 色一情一乱一伦一区二区三区 | 欧美xxxx在线| 毛片视频免费观看 | 亚洲欧美日韩中文在线 | 国产精品久久久久久久久久免费看 | 黑人巨大精品欧美黑白配亚洲 | 中文成人在线 | 精品一区二区三区中文字幕 | 欧美h视频 | 久久不射电影网 | 我要看免费一级毛片 | 亚洲夜夜爽 | 视频一区二区三区在线观看 | 成人午夜精品一区二区三区 | 99视频精品 | 日韩欧美网 | 国产精品特级毛片一区二区三区 | 亚洲 欧美 综合 | 自拍偷拍亚洲视频 | 最近日韩中文字幕 | 亚洲欧美日韩国产综合 | 亚洲成人精品在线 | 国产精品视频网址 | 搞av.com | 成年人的视频免费观看 | 久久精品国产a三级三级三级 | 99中文字幕 | 777毛片| 日韩一区二区久久 |