(適用正點原子的開發板)主要是在OLED 屏幕上實時時間,如果時間不準時,可以先使用實驗15 RTC實驗 然后燒寫進開發板,在XCOM串口調試助手發送命令如:RTC_Set(2020,06,04,23,25,30) 即可完成RTC校準!!!!
完整源碼:
STM32f103戰艦v3OLED顯示時間.7z
(200.05 KB, 售價: 1 E幣)
2020-6-5 10:41 上傳
點擊文件名下載附件
售價: 1 E幣 [記錄]
[ 購買]
231723huucuzg2milcg09i.jpg (249.17 KB)
下載附件
2020-6-5 10:36 上傳
部分源碼:
- #include "led.h"
- #include "delay.h"
- #include "key.h"
- #include "sys.h"
- #include "oled.h"
- #include "rtc.h"
-
- int main(void)
- { u8 t=0;
- delay_init(); //延時函數初始化
- RTC_Init(); //RTC初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
- LED_Init(); //LED端口初始化
- OLED_Init(); //初始化OLED
- OLED_ShowString(0,0,"ALIENTEK",24);
- OLED_Refresh_Gram(); //更新顯示到OLED
- while(1)
- {
- OLED_Refresh_Gram();
- delay_ms(500);
- LED0=!LED0;
- if(t!=calendar.sec)
- {
- t=calendar.sec;
- OLED_ShowNum(0,24,calendar.w_year,4,12);
- OLED_ShowString(24,24, "-",12);
- if(calendar.w_month<10)
- {
- OLED_ShowNum(30,24,0,1,12);
- OLED_ShowNum(36,24,calendar.w_month,1,12);
- }else OLED_ShowNum(36,24,calendar.w_month,2,12);
- OLED_ShowString(42,24, "-",12);
- if(calendar.w_date<10)
- {
- OLED_ShowNum(48,24,0,1,12);
- OLED_ShowNum(54,24,calendar.w_date,1,12);
- }else OLED_ShowNum(48,24,calendar.w_date,2,12);
- switch(calendar.week)
- {
- case 0:
- OLED_ShowString(64,24,"Sunday",12);
- break;
- case 1:
- OLED_ShowString(64,24,"Monday",12);
- break;
- case 2:
- OLED_ShowString(64,24,"Tuesday",12);
- break;
- case 3:
- OLED_ShowString(64,24,"Wednesday",12);
- break;
- case 4:
- OLED_ShowString(64,24,"Thursday",12);
- break;
- case 5:
- OLED_ShowString(64,24,"Friday",12);
- break;
- case 6:
- OLED_ShowString(64,24,"Saturday",12);
- break;
- }
- if(calendar.hour<10)
- {
- OLED_ShowNum(0,36,0,1,16);
- OLED_ShowNum(8,36,calendar.hour,1,16);
- }else
- OLED_ShowNum(0,36,calendar.hour,2,16);
-
- OLED_ShowString(16,36,":",16);
-
- if(calendar.min<10)
- {
- OLED_ShowNum(24,36,0,1,16);
- OLED_ShowNum(32,36,calendar.min,1,16);
- }else
- OLED_ShowNum(24,36,calendar.min,2,16);
-
- OLED_ShowString(40,36,":",16);
-
- if(calendar.sec<10)
- {
- OLED_ShowNum(48,36,0,1,16);
- OLED_ShowNum(56,36,calendar.sec,1,16);
- }else OLED_ShowNum(48,36,calendar.sec,2,16);
- LED0=!LED0;
- }
- delay_ms(10);
- };
-
- }
復制代碼
【必讀】版權免責聲明
1、本主題所有言論和內容純屬會員個人意見,與本論壇立場無關。2、本站對所發內容真實性、客觀性、可用性不做任何保證也不負任何責任,網友之間僅出于學習目的進行交流。3、對提供的數字內容不擁有任何權利,其版權歸原著者擁有。請勿將該數字內容進行商業交易、轉載等行為,該內容只為學習所提供,使用后發生的一切問題與本站無關。 4、本網站不保證本站提供的下載資源的準確性、安全性和完整性;同時本網站也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網站所有軟件和資料均為網友推薦收集整理而來,僅供學習用途使用,請務必下載后兩小時內刪除,禁止商用。6、如有侵犯你版權的,請及時聯系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|