0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CW32飯盒派開發(fā)板 日歷溫濕度計

華仔的編程隨筆 ? 來源:華仔的編程隨筆 ? 作者:華仔的編程隨筆 ? 2023-05-27 14:07 ? 次閱讀

目的

創(chuàng)建一個帶日歷的溫濕度計

步驟

  1. 新建rtc.c/rtc.h,并把兩個文件添加到user下面:

image.png

  1. rtc.c 代碼如下:
#include "rtc.h"

ErrorStatus rest_rtc(void)
{
	ErrorStatus err_rtc;
	RTC_InitTypeDef RTC_InitStruct = {0};
	RCC_LSE_Enable(RCC_LSE_MODE_OSC, RCC_LSE_AMP_NORMAL, RCC_LSE_DRIVER_NORMAL);  // 選擇LSE為RTC時鐘
	RTC_InitStruct.DateStruct.Day = 0x27;             //日
	RTC_InitStruct.DateStruct.Month = RTC_Month_May;//月
	RTC_InitStruct.DateStruct.Week = RTC_Weekday_Monday;//星期
	RTC_InitStruct.DateStruct.Year = 0x23; //年
	
	RTC_InitStruct.TimeStruct.Hour = 0x11;   //時      
	RTC_InitStruct.TimeStruct.Minute = 0x58;//分
	RTC_InitStruct.TimeStruct.Second = 0x59;//秒
	RTC_InitStruct.TimeStruct.AMPM = 0;
	RTC_InitStruct.TimeStruct.H24 = 0; //采用12小時設(shè)置
	
	RTC_InitStruct.RTC_ClockSource = RTC_RTCCLK_FROM_LSE;
	err_rtc = RTC_Init(&RTC_InitStruct);    // RTC模塊初始化, 用戶需選定需要使用的時鐘源
	
	if(err_rtc != SUCCESS)
	{
		return ERROR;
	}
	return SUCCESS;
}

rtc.h:

#ifndef __RTC_H__
#define __RTC_H__
#include "main.h"
ErrorStatus rest_rtc(void);

#endif

修改主函數(shù)內(nèi)容如下:

#include "main.h"
#include "Lcd_Driver.h"
#include "LCD_calculate.h"
#include "dht11.h"
#include "rtc.h"
unsigned int counttime=0;
float temperature;  	    
uint8_t humidity; 
char buff_1[15];
char buff_2[15];
char buff_rtc[30];


void GPIO_Configuration(void);
void RCC_Configuration(void);
void BTIM_init(void);

int main()
{	
	 RTC_InitTypeDef RTC_InitStruct = {0};

	 
	
	RCC_Configuration();  //系統(tǒng)時鐘64M
	GPIO_Configuration(); //LED初始化
	BTIM_init();          //定時器初始化
	
	Lcd_Init();
	Lcd_Clear(GRAY0);               //清屏
	Redraw_Mainmenu();
	
	while(DHT11_GPIO_Config())	//DHT11初始化
	{
	}
	
	rest_rtc();
	
	
	while(1)
	{
		if(counttime>500)                           //200毫秒采集一次數(shù)據(jù)并更新屏幕
		{
			counttime=0;
		 	DHT11_Read_Data(&temperature,&humidity);	//讀取溫濕度	
			sprintf(buff_1,"%0.1f",temperature);
			sprintf(buff_2,"%d",humidity);  
			Gui_DrawFont_GBK16(90,25,BLUE,GRAY0,buff_1);		//更新顯示
		  Gui_DrawFont_GBK16(90,47,BLUE,GRAY0,buff_2);

			RTC_GetDate(&RTC_InitStruct.DateStruct);// 取用當(dāng)前日期,BCD格式
			sprintf(buff_rtc,"20%02x-%02x-%02x",RTC_InitStruct.DateStruct.Year, RTC_InitStruct.DateStruct.Month, RTC_InitStruct.DateStruct.Day );
			Gui_DrawFont_GBK16(10,80,BLUE,GRAY0,buff_rtc);
			RTC_GetTime(&RTC_InitStruct.TimeStruct);// 獲取當(dāng)前時間,BCD格式
			sprintf(buff_rtc,"%02x:%02x:%02x",RTC_InitStruct.TimeStruct.Hour, RTC_InitStruct.TimeStruct.Minute, RTC_InitStruct.TimeStruct.Second );
			Gui_DrawFont_GBK16(10,100,BLUE,GRAY0,buff_rtc);

		}
		
	}
	
}

編譯下載到開發(fā)板,運行效果如下:

e5e18ff7e2c5f2de8715a90165374f6.jpg

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 日歷
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    9024
  • 2CW
    2CW
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    6019
  • 溫濕度計
    +關(guān)注

    關(guān)注

    1

    文章

    23

    瀏覽量

    8065
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    168

    瀏覽量

    502
  • 武漢芯源
    +關(guān)注

    關(guān)注

    1

    文章

    62

    瀏覽量

    201
收藏 人收藏

    評論

    相關(guān)推薦

    基于CW32L083設(shè)計的超低功耗溫濕度計

    基于CW32L083設(shè)計的超低功耗溫濕度計,可以用電池供電,實現(xiàn)數(shù)年超長工作時間。
    的頭像 發(fā)表于 06-25 12:08 ?2.7w次閱讀
    基于<b class='flag-5'>CW</b>32L083設(shè)計的超低功耗<b class='flag-5'>溫濕度計</b>

    CW32飯盒開發(fā)板 測試IO速度

    CW32飯盒開發(fā)板的GPIO進行速度測試
    的頭像 發(fā)表于 05-26 13:07 ?42.5w次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>飯盒</b><b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b> 測試IO速度

    CW32飯盒開發(fā)板試用體驗】串口實驗

    CW32飯盒開發(fā)板實現(xiàn)串口接收并控制LED
    的頭像 發(fā)表于 05-29 09:13 ?41.9w次閱讀
    【<b class='flag-5'>CW32</b><b class='flag-5'>飯盒</b><b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b>試用體驗】串口實驗

    CW32飯盒開發(fā)板試用體驗】開發(fā)板簡單介紹及初體驗

    今天開箱一款基于CW32F030C8T6的開發(fā)板開發(fā)板命名為CW32飯盒。 下面簡單的對
    發(fā)表于 05-22 10:47

    CW32飯盒開發(fā)板試用體驗】開發(fā)板簡單介紹和開發(fā)板初體驗

    今天開箱一款基于CW32F030C8T6的開發(fā)板,開發(fā)板命名為CW32飯盒。 下面簡單的對
    發(fā)表于 05-22 10:56

    CW32飯盒開發(fā)板試用體驗】+機械臂游戲項目(開源)(5)加紅外游戲操控機

    接上幾篇: 【CW32飯盒開發(fā)板試用體驗】+機械臂游戲項目(開源)(1)開箱試驗舵機 - 武漢芯源MCU - 電子技術(shù)論壇 - 廣受歡迎的專業(yè)電子論壇! 【
    發(fā)表于 05-24 22:27

    CW32飯盒開發(fā)板試用體驗】+開箱+軟件

    溫濕度接口; 這些功能保證 CW32飯盒 可以外接非常多的模塊來做各種測試,也可以提供豐富的接口來擴展這塊開發(fā)板。 看下資源,使用此
    發(fā)表于 05-29 08:41

    CW32飯盒開發(fā)板試用體驗】+初識CW32飯盒開發(fā)板

    盼星星,盼月亮,終于收到了CW32飯盒開發(fā)板。回想起那天答復(fù)參加活動郵件發(fā)出去的那一刻,就在期盼。 以前也了解過CW32單片機,這是一款非
    發(fā)表于 05-29 15:51

    CW32飯盒開發(fā)板試用體驗】+可愛的飯盒

    CW32F030評估 如今推出的CW32飯盒,則無論是包裝還是在開發(fā)板的設(shè)計上都向前大大地
    發(fā)表于 06-01 13:53

    CW32飯盒開發(fā)板試用體驗】6.硬件I2C之連接HS300X讀取溫濕度數(shù)據(jù)

    器 【CW32飯盒開發(fā)板試用體驗】4. ADC采樣搖桿模塊X軸和Y軸輸出 【CW32飯盒
    發(fā)表于 06-07 21:45

    CW32飯盒開發(fā)板試用體驗】+萬物互聯(lián)之溫濕度采集

    CW32飯盒開發(fā)板 提供了多種傳感器的接口,上面就有溫濕度傳感器DHT11的接口。但是,我手上只有4個腳的DHT11芯片,并沒有3個腳的D
    發(fā)表于 06-11 16:05

    CW32飯盒開發(fā)板試用體驗】+萬物互聯(lián)之溫濕度顯示

    的圖案更加漂亮和美觀。對于UI設(shè)計,我涉及的面比較窄,以后的好好利用飯盒這款多接口的帶屏幕的開發(fā)板。對于刷新,我是500ms調(diào)用一次溫濕度采集和屏幕刷新程序。特殊的場合有特殊的做法,
    發(fā)表于 06-26 20:33

    溫濕度計校準(zhǔn)_溫濕度計選購指南

    本文主要闡述了溫濕度計校準(zhǔn)的方法及選購指南。
    發(fā)表于 02-28 11:13 ?2767次閱讀

    溫濕度計怎么使用_溫濕度計怎么調(diào)

    本文首先闡述了溫濕度計的使用方法,其次介紹了溫濕度計的調(diào)節(jié),最后介紹了家用指針式溫濕度計調(diào)校方法。
    發(fā)表于 02-28 11:16 ?10.2w次閱讀

    CW32飯盒開發(fā)板溫濕度采集

    CW32飯盒開發(fā)板采集溫濕數(shù)據(jù)并用LCD顯示
    的頭像 發(fā)表于 05-26 19:20 ?1286次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>飯盒</b><b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>溫濕度</b>采集