打印
[Atmel]

mbed环境下SAMR21开发板6:RTC

[复制链接]
688|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
这个mbed的RTC,需要有一个问题注意,就是mbed已经定义了tm结构。也就是说用户不用再定义什么时间的结构体了。
下面这个程序是每一秒打印一下时间,以秒为单位递增。

程序如下:

include "mbed.h"

Serial pc(USBTX,USBRX);



int main() {

    tm t;

    t.tm_sec = 00;    // 0-59

    t.tm_min = 9;    // 0-59

    t.tm_hour = 12;   // 0-23

    t.tm_mday = 21;   // 1-31

    t.tm_mon = 3;     // 0-11

    t.tm_year = 114;  // year since 1900

    // Set RTC time today

    set_time(mktime(&t));

    while(1) {

        time_t seconds = time(NULL);

        char day[16];

        strftime(day, 16, "strftime:%Y/%m/%d %a ", localtime(&seconds));

        pc.printf("%s ", day);

        char time[16];

        strftime(time, 16, "%H:%M:%S\n", localtime(&seconds));

        pc.printf("%s ", time);

        pc.printf("ctime:%s \n ", ctime(&seconds));

        wait(1.0);

    }



}

运行结果如下:



相关的函数即方法如下:

类名
方法
用途
全局函数
time_t time(time_t *timer)
返回当前的计数时间,返回值与timer相同,可以传入NULL,表示只需要返回值
void set_time(time_t t)
设置当前时间
time_t mktime((struct tm *_timeptr))
把tm类型转换成time_t类型
struct tm* localtime((const time_t *_timer))
把time_t类型转换成tm类型
char      *ctime((const time_t *_time))
把time_t类型转换成字符串类型
size_t  strftime((char *_s, size_t _maxsize, const char *_fmt, const struct tm *_t))
把tm类型按照给定的格式转换成字符串类型

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2399

主题

6963

帖子

68

粉丝