0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CW32饭盒派开发板 日历温湿度计

华仔的编程随笔 来源:华仔的编程随笔 作者:华仔的编程随笔 2023-05-27 14:07 次阅读

目的

创建一个带日历的温湿度计

步骤

  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小时设置
	
	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

修改主函数内容如下:

#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();  //系统时钟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毫秒采集一次数据并更新屏幕
		{
			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);// 取用当前日期,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);// 获取当前时间,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);

		}
		
	}
	
}

编译下载到开发板,运行效果如下:

e5e18ff7e2c5f2de8715a90165374f6.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 日历
    +关注

    关注

    0

    文章

    15

    浏览量

    9044
  • 2CW
    2CW
    +关注

    关注

    0

    文章

    2

    浏览量

    6021
  • 温湿度计
    +关注

    关注

    1

    文章

    23

    浏览量

    8080
  • CW32
    +关注

    关注

    1

    文章

    183

    浏览量

    575
  • 武汉芯源
    +关注

    关注

    1

    文章

    65

    浏览量

    249
收藏 人收藏

    评论

    相关推荐

    基于CW32L083设计的超低功耗温湿度计

    基于CW32L083设计的超低功耗温湿度计,可以用电池供电,实现数年超长工作时间。
    的头像 发表于 06-25 12:08 2.7w次阅读
    基于<b class='flag-5'>CW</b>32L083设计的超低功耗<b class='flag-5'>温湿度计</b>

    CW32饭盒开发板 测试IO速度

    CW32饭盒开发板的GPIO进行速度测试
    的头像 发表于 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'>开发板</b> 测试IO速度

    CW32饭盒开发板试用体验】串口实验

    CW32饭盒开发板实现串口接收并控制LED
    的头像 发表于 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'>开发板</b>试用体验】串口实验

    CW32饭盒开发板试用体验】开发板简单介绍及初体验

    今天开箱一款基于CW32F030C8T6的开发板开发板命名为CW32饭盒。 下面简单的对
    发表于 05-22 10:47

    CW32饭盒开发板试用体验】开发板简单介绍和开发板初体验

    今天开箱一款基于CW32F030C8T6的开发板开发板命名为CW32饭盒。 下面简单的对
    发表于 05-22 10:56

    CW32饭盒开发板试用体验】+机械臂游戏项目(开源)(5)加红外游戏操控机

    接上几篇: 【CW32饭盒开发板试用体验】+机械臂游戏项目(开源)(1)开箱试验舵机 - 武汉芯源MCU - 电子技术论坛 - 广受欢迎的专业电子论坛! 【
    发表于 05-24 22:27

    CW32饭盒开发板试用体验】+开箱+软件

    温湿度接口; 这些功能保证 CW32饭盒 可以外接非常多的模块来做各种测试,也可以提供丰富的接口来扩展这块开发板。 看下资源,使用此
    发表于 05-29 08:41

    CW32饭盒开发板试用体验】+初识CW32饭盒开发板

    盼星星,盼月亮,终于收到了CW32饭盒开发板。回想起那天答复参加活动邮件发出去的那一刻,就在期盼。 以前也了解过CW32单片机,这是一款非
    发表于 05-29 15:51

    CW32饭盒开发板试用体验】+可爱的饭盒

    CW32F030评估 如今推出的CW32饭盒,则无论是包装还是在开发板的设计上都向前大大地
    发表于 06-01 13:53

    CW32饭盒开发板试用体验】6.硬件I2C之连接HS300X读取温湿度数据

    器 【CW32饭盒开发板试用体验】4. ADC采样摇杆模块X轴和Y轴输出 【CW32饭盒
    发表于 06-07 21:45

    CW32饭盒开发板试用体验】+万物互联之温湿度采集

    CW32饭盒开发板 提供了多种传感器的接口,上面就有温湿度传感器DHT11的接口。但是,我手上只有4个脚的DHT11芯片,并没有3个脚的D
    发表于 06-11 16:05

    CW32饭盒开发板试用体验】+万物互联之温湿度显示

    的图案更加漂亮和美观。对于UI设计,我涉及的面比较窄,以后的好好利用饭盒这款多接口的带屏幕的开发板。对于刷新,我是500ms调用一次温湿度采集和屏幕刷新程序。特殊的场合有特殊的做法,
    发表于 06-26 20:33

    温湿度计校准_温湿度计选购指南

    本文主要阐述了温湿度计校准的方法及选购指南。
    发表于 02-28 11:13 2880次阅读

    温湿度计怎么使用_温湿度计怎么调

    本文首先阐述了温湿度计的使用方法,其次介绍了温湿度计的调节,最后介绍了家用指针式温湿度计调校方法。
    发表于 02-28 11:16 10.3w次阅读

    CW32饭盒开发板温湿度采集

    CW32饭盒开发板采集温湿数据并用LCD显示
    的头像 发表于 05-26 19:20 1419次阅读
    <b class='flag-5'>CW32</b><b class='flag-5'>饭盒</b><b class='flag-5'>派</b><b class='flag-5'>开发板</b><b class='flag-5'>温湿度</b>采集