资源简介
我的博客文章的源代码,包括UI,闹钟部分。其他请参考原子的EMWIN代码。
代码片段和文件信息
#include “ALARM.h“
/*
存储闹铃组到后备寄存器
*/
void StoreAlarmsToBkp(const xAlarms_TypeDef* pAl)
{
char i;
RTC_WriteBackupRegister(RTC_BKP_DR2pAl->num);
RTC_WriteBackupRegister(RTC_BKP_DR3pAl->availableNum);
for(i=0;inum;i++)
{
RTC_WriteBackupRegister(RTC_BKP_DR4+ipAl->alarm._alarmx[i] );
}
}
/*
从后备寄存器加载到闹铃组
*/
void LoadAlarmsFromBkp(xAlarms_TypeDef* pAl)
{
char i;
if(RTC_ReadBackupRegister(RTC_BKP_DR0)==RTCBKP_KEYVALUE)
{
pAl->num= RTC_ReadBackupRegister(RTC_BKP_DR2);
if(pAl->num==0)return;
pAl->availableNum= RTC_ReadBackupRegister(RTC_BKP_DR3);
for(i=0;inum;i++)
{
pAl->alarm._alarmx[i] = RTC_ReadBackupRegister(RTC_BKP_DR4+i);
}
}
}
//根据Alarms给Listbox添加item
char AddListBoxItemAccordingToAlarms(LISTBOX_Handle hObjconst xAlarms_TypeDef* axs)
{
char numi;
unsigned char pBuffer[20];
num=axs->num;
if(num>ALARM_NUM_MAX) num=ALARM_NUM_MAX;
for(i=0;i {
unsigned char en = axs->alarm._alarm[i].en ;
if( (en&0x01) == 0 )
pBuffer[0]=‘!‘;
else pBuffer[0]=‘ ‘;
pBuffer[1]=‘ ‘;
pBuffer[2]=axs->alarm._alarm[i].hour/10+‘0‘;
pBuffer[3]=axs->alarm._alarm[i].hour%10+‘0‘;
pBuffer[4]=‘:‘;
pBuffer[5]=axs->alarm._alarm[i].minute/10+‘0‘;
pBuffer[6]=axs->alarm._alarm[i].minute%10+‘0‘;
pBuffer[7]=‘‘;
pBuffer[8]=axs->alarm._alarm[i].duration/10+‘0‘;
pBuffer[9]=axs->alarm._alarm[i].duration%10+‘0‘;
pBuffer[10]=‘‘;
switch( (en)>>4)
{
case 0:
pBuffer[11]=‘S‘pBuffer[12]=‘i‘pBuffer[13]=‘n‘pBuffer[14]=‘g‘pBuffer[15]=‘l‘pBuffer[16]=‘e‘pBuffer[17]=0;
break;
case 1:
pBuffer[11]=‘W‘pBuffer[12]=‘o‘pBuffer[13]=‘r‘pBuffer[14]=‘k‘pBuffer[15]=‘d‘pBuffer[16]=‘a‘pBuffer[17]=‘y‘pBuffer[18]=0;
break;
case 2:
pBuffer[11]=‘E‘pBuffer[12]=‘v‘pBuffer[13]=‘e‘pBuffer[14]=‘r‘pBuffer[15]=‘y‘pBuffer[16]=‘d‘pBuffer[17]=‘a‘pBuffer[18]=‘y‘pBuffer[19]=0;
break;
default:pBuffer[12]=0 ;
}
LISTBOX_AddString(hObj(const char*)pBuffer);
}
return num+1;
}
//根据对话框各个选项给Listbox添加item
char AddListBoxItemAccordingToDialog(LISTBOX_Handle hObjconst xAlarm_TypeDef ax)
{
char num=0;
char pBuffer[20];
num=LISTBOX_GetNumItems(hObj);
if(num>=ALARM_NUM_MAX) return 0;
pBuffer[0]=‘ ‘;
pBuffer[1]=‘ ‘;
pBuffer[2]=ax.hour/10+‘0‘;
pBuffer[3]=ax.hour%10+‘0‘;
pBuffer[4]=‘:‘;
pBuffer[5]=ax.minute/10+‘0‘;
pBuffer[6]=ax.minute%10+‘0‘;
pBuffer[7]=‘‘;
pBuffer[8]=ax.duration/10+‘0‘;
pBuffer[9]=ax.duration%10+‘0‘;
pBuffer[10]=‘‘;
switch(ax.en>>4)
{
case 0:
pBuffer[11]=‘S‘pBuff
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 174 2018-11-05 11:43 UI.h
文件 6072 2018-11-05 14:26 alarm.c
文件 1364 2018-11-05 14:21 alarm.h
文件 873009 2018-11-04 20:21 fontx.h
文件 38342 2018-11-05 14:21 UI.c
- 上一篇:kettle rest 接口 请求
- 下一篇:程序设计实践题目与答案
相关资源
- STM32F407系列ZG/VG/IG原理图封装全
- STM32F407 标准库 实现6路串口配置,D
- emWin软键盘
- STM32F407 ADC1双通道采样,DMA传输程序库
- stm32f427工程demo
- STM32F407最小系统板(SWD口)
- STM32 F4系列所有原理图及PCB封装库
- emwinGUIbuilder使用手册
- STM32F407 485 MODBUS
- stm32F407光电编码器代码
- f407_mpu6050.rar
- STM32F407W5500
- STM32F411RCT6最小系统原理图
- 基于STM32F407的OTM8009液晶显示驱动
- STM32F407驱动AD7606的8路16位AD同步采样含
- STM32F4XX固件库之DSP库的说明
- Audio_Test for STM32F4Discovery
- stm32f407+FFT浮点运算例程
- 正点原子STM32F407 AD封装库
- STM32定时器输出带有死区时间的PWM波形
- STM32F429使用外扩SDRAM运行程序的方法
- STM32F4xx内部flash读写(优化后可靠稳定
- STM32F407 串口通讯
- stm32f4 时钟配置工具
- STM32F401CCU6跑马灯实验性源程序
- STM32F407串口IAP
- 电子日历课程设计 数电设计
- stm32f429电容触摸按键程序
- STM32F4读写SD2405实时时钟程序
- stm32f4温度补偿超声波测距
评论
共有 条评论