查看: 44|回复: 2

[原创] 【赚周年币】sam4s16c的寄存器配置基础教程---RTC配置

[复制链接]

73

主题

1

好友

2796

积分

进士

Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    20 小时前
  • 签到天数: 498 天

    [LV.9]以坛为家II

    发表于 5 天前 |显示全部楼层
    最近项目涉及到和供应商合作,之前用atmel studio不能继续用了,不得不改用keil,于是潜水了一段时间,静下来仔细分析Datasheet,终于完成了,几乎所有外设驱动的寄存器配置,可以直接用于sam4s系列。看不懂的自己仔细研究Datasheet吧。个人的爱好是喜欢寄存器直接配置。
    看官方的库,太乱,太累。
    不喜欢拿来主义。
    第六部分
    配置RTC
    首先,停止rtc计数,
    RTC->RTC_CR |= RTC_CR_UPDTIM;
            while ((RTC->RTC_SR & RTC_SR_ACKUPD) != RTC_SR_ACKUPD);
    第二,设置时间寄存器
            RTC->RTC_SCCR = RTC_SCCR_ACKCLR;
            RTC->RTC_TIMR = ul_time;
            RTC->RTC_CR &= (~RTC_CR_UPDTIM);
            RTC->RTC_SCCR |= RTC_SCCR_SECCLR;
            
            RTC->RTC_CR |= RTC_CR_UPDCAL;
            while ((RTC->RTC_SR & RTC_SR_ACKUPD) != RTC_SR_ACKUPD);
    第三,设置日期寄存器
            RTC->RTC_SCCR = RTC_SCCR_ACKCLR;
            RTC->RTC_CALR = ul_date;
            RTC->RTC_CR &= (~RTC_CR_UPDCAL);
            // Clear SECENV in SCCR
            RTC->RTC_SCCR |= RTC_SCCR_SECCLR;
    第四,设置时间模式
            /* Default RTC configuration, 24-hour mode */
            RTC->RTC_MR &= ~RTC_MR_HRMOD;
    第五,使能中断
            /* Configure RTC interrupts */
            NVIC_DisableIRQ(RTC_IRQn);
            NVIC_ClearPendingIRQ(RTC_IRQn);
            NVIC_SetPriority(RTC_IRQn, 0);
            NVIC_EnableIRQ(RTC_IRQn);
    第六,使能中断
            RTC->RTC_IER = RTC_IER_SECEN;
    水平有限,请大家多指点,谢谢!
    后续还有很多外设的寄存器配置教程,请大家关注。。。。。。。
    已有 1 人评分周年币 收起 理由
    loveeeboard + 10

    总评分: 周年币 + 10   查看全部评分

    回复

    使用道具 举报

    2

    主题

    0

    好友

    215

    积分

    秀才

    Rank: 3Rank: 3

  • TA的每日心情
    开心
    20 小时前
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 5 天前 |显示全部楼层
    谢谢分享            
    回复

    使用道具 举报

    73

    主题

    1

    好友

    2796

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    20 小时前
  • 签到天数: 498 天

    [LV.9]以坛为家II

    发表于 5 天前 |显示全部楼层
    客气
    回复

    使用道具 举报

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

    关闭

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


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-6 20:27 , Processed in 0.108033 second(s), 11 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部