查看: 1276|回复: 0

ATMEL SAM-4S Xplained之RTC实时时钟程序

[复制链接]
  • TA的每日心情
    奋斗
    2016-6-12 21:59
  • 签到天数: 647 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2014-8-22 17:21:57 | 显示全部楼层 |阅读模式
    分享到:

                    SAM-4S Xplained评估套件是一款基于Atmel公司SAM4S16微控制器的硬件评估平台。该套件提供了大范围的特性,使得Atmel的SAM4S16用户可以马上使用SAM4S16外围设备进行开发。
            开发环境用的是ATMEL        官方的Atmel Studio 6.0 ,新开发板用官方的开发软件就是方便,因为有现成的例程可以测试,在后期的慢慢熟练后可以转用其他的开发软件比如MDK,还是不错的体验,毕竟这是用的很大众化的一款软件!

            本次讲解的是        SAM4S Xplained 板子上跑得RTC例程程序,新加两颗LED闪灭,可观察程序是否正常启动,一般是没问题的。。。

                 打开界面

           

            下载到板子后,通过串口调试软件,可以使用,配置界面如下,打开电脑的设备管理器,我的是COM4

           

            同时板子上的LED0常亮,LED1隔一秒闪灭一次。

            增加LED的程序方法如下。

           

            复制GPIO文件夹到如下路径

           

            我的是D盘,路径就是D:My DocumentsAtmel StudioRTC_EXAMPLE1RTC_EXAMPLE1srcasfcommonservicesgpio。

            然后在工程文件夹RTC_EXAMPLE1上右键打开

           

            找到Directories,单击,这是添加*.h文件的地方,不多说,添加此项

           

           

            然后在刷新显示程序里加上此句

           
                    /**       

                    /*** 刷新当前显示.*/static void refresh_display(void){uint32_t ul_hour, ul_minute, ul_second;uint32_t ul_year, ul_month, ul_day, ul_week;       
                    gpio_set_pin_low(LED0_GPIO);       //置低电平gpio_set_pin_high(LED1_GPIO);    //置高电平       
                    if (gs_ul_state != STATE_MENU) {/* 非菜单显示模式, 而是设置模式. */} else {/* 重新得到时间和日期 */rtc_get_time(RTC, &ul_hour, &ul_minute, &ul_second);rtc_get_date(RTC, &ul_year, &ul_month, &ul_day, &ul_week);       
                    /* 显示当前 */if (!gs_ul_menu_shown) {puts("       
                    Menu:       
                    ""  t - Set time       
                    ""  d - Set date       
                    ""  i - Set time alarm       
                    ""  m - Set date alarm");#if ((SAM3S8) || (SAM3SD8) || (SAM4S))puts("  w - Generate Waveform");#endifif (gs_ul_alarm_triggered) {puts("  c - Clear alarm notification");}       
                    printf("       
                    ");       
                    gs_ul_menu_shown = 1;}       
                    /*更新当前时间和日期 */puts("");printf(" [Time/Date: u:u:u, u/u/u %s ][Alarm status:%s]",ul_hour, ul_minute, ul_second, ul_month, ul_day, ul_year,gs_uc_day_names[ul_week-1], gs_ul_alarm_triggered?"Triggered!":"");}gpio_set_pin_high(LED0_GPIO);       //置高电平gpio_set_pin_low(LED1_GPIO);        //置低电平}       
                    编译下载后,就可以实现开始所说的功能了!       

                    主程序       

                            
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-18 08:20 , Processed in 0.115525 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.