OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3456|回复: 1

RTC实验问题,请教原子哥

[复制链接]

4

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-5-31
在线时间
10 小时
发表于 2016-6-28 15:35:17 | 显示全部楼层 |阅读模式
#include "stm32f10x.h"       
#include "sys.h"
#include "usart.h"
#include "delay.h"       
#include "led.h"
#include "lcd.h"
#include "usmart.h"
#include "rtc.h"
//字体大小包括 24*12、 16*8 和 12*6 等三种


int main(void)
{
        u8 t;
        u8 lcd_id[12];                        //存放LCD ID字符串
          Stm32_Clock_Init(9);        //系统时钟设置
        uart_init(72,9600);                 //串口初始化为9600
        delay_init(72);                            //延时初始化
        led_init();                                  //初始化与LED连接的硬件接口
        LCD_Init();
        usmart_dev.init(72);    //初始化USMART   
        POINT_COLOR=GREEN;         
        sprintf((char*)lcd_id,"LCD ID:%04X",lcddev.id);//将LCD ID打印到lcd_id数组。
        LCD_ShowString(30,40,200,24,24,"Mini STM32 ^_^");       
        LCD_ShowString(30,64,200,16,16,"TFTLCD TEST");
        LCD_ShowString(30,80,200,16,16,"ATOM@ALIENTEK");
        LCD_ShowString(30,96,200,16,16,lcd_id);                //显示LCD ID                                                       
        while(RTC_Init())                //RTC初始化        ,一定要初始化成功
        {
                LCD_ShowString(60,130,200,16,16,"RTC ERROR!   ");       
                delay_ms(800);
                LCD_ShowString(60,130,200,16,16,"RTC Trying...");       
        }                                                                   
        //显示时间
        POINT_COLOR=BLUE;//设置字体为蓝色                                         
        LCD_ShowString(60,130,200,16,16,"    -  -     ");          
        LCD_ShowString(60,170,200,16,16,"  :  :  ");                             
        while(1)
        {                                                                    
                if(t!=calendar.sec)
                {
                        t=calendar.sec;
                        LCD_ShowNum(60,130,calendar.w_year,4,16);                                                                          
                        LCD_ShowNum(100,130,calendar.w_month,2,16);                                                                          
                        LCD_ShowNum(124,130,calendar.w_date,2,16);         
                        switch(calendar.week)
                        {
                                case 0:
                                        LCD_ShowString(60,148,200,16,16,"Sunday   ");
                                        break;
                                case 1:
                                        LCD_ShowString(60,148,200,16,16,"Monday   ");
                                        break;
                                case 2:
                                        LCD_ShowString(60,148,200,16,16,"Tuesday  ");
                                        break;
                                case 3:
                                        LCD_ShowString(60,148,200,16,16,"Wednesday");
                                        break;
                                case 4:
                                        LCD_ShowString(60,148,200,16,16,"Thursday ");
                                        break;
                                case 5:
                                        LCD_ShowString(60,148,200,16,16,"Friday   ");
                                        break;
                                case 6:
                                        LCD_ShowString(60,148,200,16,16,"Saturday ");
                                        break;  
                        }
                        LCD_ShowNum(60,170,calendar.hour,2,16);                                                                          
                        LCD_ShowNum(84,170,calendar.min,2,16);                                                                          
                        LCD_ShowNum(108,170,calendar.sec,2,16);
                        LED0=!LED0;
                }       
                delay_ms(10);                                                                  
        }                                                                                            
}


问题1:为什么LED0的闪烁周期是2秒呢?
问题2:实验效果,比如显示时间:2016-6-28  15:36: 5   显示不是很好看,怎么让前面加0呢,像这样子:2016-06-28 15:36:05

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-5-31
在线时间
10 小时
 楼主| 发表于 2016-6-28 16:06:34 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-13 17:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表