资源简介
网上少有系统性完整讲解STM32 RTC 闹钟配置过程以及源代码,博主在网上搜集了零散的资料,并且改掉了原代码中存在的一些BUG,方便工程的移植,弄懂原理是关键,不要盲目的移植代码。
代码片段和文件信息
#include “calendar.h“
#include “stdio.h“
//#include “settings.h“
//#include “ds18b20.h“
#include “24cxx.h“
#include “math.h“
#include “rtc.h“
#include “led.h“
//////////////////////////////////////////////////////////////////////////////////
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//ALIENTEK STM32开发板
//APP-日历 代码
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
//创建日期:2014/7/20
//版本:V1.0
//版权所有,盗版必究。
//Copyright(C) 广州市星翼电子科技有限公司 2009-2019
//All rights reserved
//*******************************************************************************
//修改信息
//无
//////////////////////////////////////////////////////////////////////////////////
_alarm_obj alarm; //闹钟结构体
_calendar_obj calendar; //日历结构体
static u16 TIME_TOPY; // 120
static u16 OTHER_TOPY; // 200
//重新初始化闹钟
//alarmx:闹钟结构体
//calendarx:日历结构体
void calendar_alarm_init(_alarm_obj *alarmx_calendar_obj *calendarx)
{
u8 temp;
RTC_Get();
if(calendarx->week==7)temp=1<<0;
else temp=1<week;
if(alarmx->weekmask&temp) //需要闹铃
{
printf(“alarm:%d-%d-%d %d:%d\r\n“calendarx->w_yearcalendarx->w_monthcalendarx->w_datealarmx->houralarmx->min);
RTC_Alarm_Set(calendarx->w_yearcalendarx->w_monthcalendarx->w_datealarmx->houralarmx->min0);//设置闹铃时间
}
}
//闹钟响闹铃
//type:闹铃类型
//0滴.
//1滴.滴.
//2滴.滴.滴
//4滴.滴.滴.滴
void calendar_alarm_ring(u8 type)
{
u8 i;
for(i=0;i<(type+1);i++)
{
LED1=0;
delay_ms(100);
LED1=1;
delay_ms(100);
}
}
//根据当前的日期更新日历表.
void calendar_date_refresh(void)
{
u8 weekn; //周寄存
u16 offx=(lcddev.width-240)/2;
//显示阳历年月日
POINT_COLOR=BRED;
BACK_COLOR=BLACK;
LCD_ShowxNum(offx+5OTHER_TOPY+9(calendar.w_year/100)%1002160);//显示年 20/19
LCD_ShowxNum(offx+21OTHER_TOPY+9calendar.w_year%1002160); //显示年
LCD_ShowString(offx+37OTHER_TOPY+9lcddev.widthlcddev.height16“-“); //“-“
LCD_ShowxNum(offx+45OTHER_TOPY+9calendar.w_month2160X80); //显示月
LCD_ShowString(offx+61OTHER_TOPY+9lcddev.widthlcddev.height16“-“); //“-“
LCD_ShowxNum(offx+69OTHER_TOPY+9calendar.w_date2160X80); //显示日
//显示周几?
POINT_COLOR=RED;
weekn=calendar.week;
Show_Str(5+offxOTHER_TOPY+35lcddev.widthlcddev.height(u8 *)calendar_week_table[gui_phy.language][weekn]160); //显示周几?
}
//闹钟数据保存在:SYSTEM_PARA_SAVE_base+sizeof(_system_setings)+sizeof(_vs10xx_obj)
//读取日历闹钟信息
//alarm:闹钟信息
void calendar_read_para(_alarm_obj * alarm)
{
AT24CXX_Read(SYSTEM_PARA_SAVE_base+sizeof(_system_setings)(u8*)alarmsizeof(_alarm_obj));
}
//写入日历闹钟信息
//alarm:闹钟信息
void calendar_save_para(_alarm_obj * alarm)
{
OS_CPU_SR cpu_sr=0;
alarm->ringsta&=0X7F; //清空最高位
OS_ENTER_CRITICAL(); //进入临界区(无法被中断打断)
AT24CXX_Write(SYSTEM_PARA_SAVE_base+sizeof(_system_setings)(u8*)alarmsizeof(_alarm_obj));
OS_EXIT_CRITICAL(); //退出临界区(可以被中断打断)
}
//闹铃处理(尺寸:44*20)
//xy:坐标
//返回值处理结果
u8 calendar_alarm_ms
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11744 2017-05-11 16:23 RTC实时实验 - 按键+2个闹钟 +触屏\APP\calendar.c
文件 1824 2017-05-11 16:15 RTC实时实验 - 按键+2个闹钟 +触屏\APP\calendar.h
文件 29752 2015-08-10 12:18 RTC实时实验 - 按键+2个闹钟 +触屏\APP\common.c
文件 6543 2015-08-14 14:35 RTC实时实验 - 按键+2个闹钟 +触屏\APP\common.h
文件 17273 2010-06-07 10:25 RTC实时实验 - 按键+2个闹钟 +触屏\CORE\core_cm3.c
文件 85714 2011-02-09 14:59 RTC实时实验 - 按键+2个闹钟 +触屏\CORE\core_cm3.h
文件 15503 2011-03-10 10:52 RTC实时实验 - 按键+2个闹钟 +触屏\CORE\startup_stm32f10x_hd.s
文件 12765 2011-03-10 10:52 RTC实时实验 - 按键+2个闹钟 +触屏\CORE\startup_stm32f10x_md.s
文件 3510 2012-07-19 23:42 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\24CXX\24cxx.c
文件 1134 2011-09-27 13:05 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\24CXX\24cxx.h
文件 2988 2014-03-22 21:31 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\24CXX\myiic.c
文件 1357 2014-03-09 21:30 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\24CXX\myiic.h
文件 3758 2017-05-11 22:44 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\EXTI\exti.c
文件 582 2014-03-20 21:48 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\EXTI\exti.h
文件 2988 2011-09-19 11:12 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\IIC\myiic.c
文件 1328 2011-09-27 17:34 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\IIC\myiic.h
文件 1979 2017-05-12 17:02 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\KEY\key.c
文件 1016 2017-05-12 16:41 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\KEY\key.h
文件 35016 2014-01-02 17:22 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\LCD\FONT.H
文件 91272 2017-05-11 22:44 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\LCD\lcd.c
文件 8193 2015-08-12 18:19 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\LCD\lcd.h
文件 1301 2014-03-20 20:13 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\LED\led.c
文件 640 2014-03-20 19:03 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\LED\led.h
文件 18046 2017-05-15 11:56 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\RTC\rtc.c
文件 1675 2017-05-14 21:54 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\RTC\rtc.h
文件 4271 2017-05-15 11:38 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\TIMER\timer.c
文件 920 2017-05-14 20:13 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\TIMER\timer.h
文件 2903 2014-03-11 12:01 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\TOUCH\ctiic.c
文件 1316 2014-03-11 12:01 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\TOUCH\ctiic.h
文件 4920 2015-08-12 17:05 RTC实时实验 - 按键+2个闹钟 +触屏\HARDWARE\TOUCH\ft5206.c
............此处省略224个文件信息
- 上一篇:2019全国大学生数学建模竞赛A题原版优秀论文
- 下一篇:测量PM2.5测量实验
相关资源
- MSP432RTC实时时钟OLED显示
- webRTC+socketio+SpringBoot视频及文字聊天
- 飞思卡尔智能车入门资料大全.7z
- WebRtc视频聊天demo包括多人聊天
- 数控五轴机床调试步骤
- STM32Cube RTC 万年历方式
- STM32-UCOSIII实战-----RTC+DHT11+按键+LCD显示
- RTCA-DO-160F 机载设备的环境条件和测试
- PowerTCP Telnet for .NET v1.0.3.rar内含注册机
- WebRTC自带的peerconenction Windows版本
- WebRTC零基础开发者教程
- STM32的RTC闹钟实验
- STM32F103驱动ILI9341DS18B20RTCADCIRED
- RtspRtcpRtpLoad_h264.tar.gz
- 简单的RTSP RTP RTCP推送H264码流服务器实
- STM32F030低功耗 定时5分钟 RTC唤醒
- rtc4打标卡sdk
- 乐鑫Esp32实现smartConfig和微信airKiss,一
- 基于NONOS_SDK动手做个8266毕设小案例,
- 8266的SmartConfig与Airkiss一键配网的Dem
- STM32 RTC 万年历 3.2寸TFT液晶显示
- STM32F103C8T6按键调整参数断电保护,温
- RTCM3.2标准
- Learning WebRTC 无水印pdf
- esp8266创建MQTT任务,订阅接收和发布发
- win10 闹钟铃声 alarms&clock
- stm32f030c8t6利用RTC唤醒低功耗模式sto
- webrtc中NLP处理
- STM32F103C8T6_FreeRTOS_V10.0_RTC作为FreeRTOS时
- audio_process
评论
共有 条评论