KL25 RTC使用外部晶振的问题

2020-02-11 10:00发布

本帖最后由 sanv 于 2016-8-18 16:56 编辑

原理图 QQ图片20160818165923.png (33.46 KB, 下载次数: 0) 下载附件 接32.768晶振 2016-8-18 16:53 上传
程序
void rtcInit(uint32 ulSeconds)
{
    uint32 i;
    SIM_SCGC6 |= SIM_SCGC6_RTC_MASK;
    PORTC_PCR1 |= (PORT_PCR_MUX(0x1));
    SIM_SOPT1  = SIM_SOPT1_OSC32KSEL(2);
    RTC_CR     = RTC_CR_SWR_MASK;
    RTC_CR    &= ~RTC_CR_SWR_MASK;
    if (RTC_SR & RTC_SR_TIF_MASK)
    {
        RTC_TSR = 0x00000000;
    }
    if (RTC_SR & RTC_SR_TCE_MASK)
    {
        RTC_SR &= ~RTC_SR_TCE_MASK;
    }
    RTC_TSR = ulSeconds;
    RTC_CR |= RTC_CR_OSCE_MASK|RTC_CR_SC16P_MASK;
    for(i = 0; i < 0x600000; i++);
}


void rtcStart(void)
{
    RTC_SR |= RTC_SR_TCE_MASK;                                      /* ê1?üRTC                          */
}

void rtcIntConfig(void)
{
        //RTC_TAR  = 1;
        //RTC_IER |= RTC_IER_TAIE_MASK;
        NVIC_EnableIRQ(RTC_IRQn);
        NVIC_SetPriority(RTC_IRQn,3);  
}

void RTC_IRQHandler(void)
{
    if (RTC_SR & RTC_SR_TAF_MASK) {
        RTC_TAR = RTC_TAR + 1;
    }
    if (RTC_SR & RTC_SR_TOF_MASK) {
        
    }
    if (RTC_SR & RTC_SR_TIF_MASK) {
        
    }
}
void RTC_Seconds_IRQHandler(void)
{
}

调用过程
        rtcInit(0);
        rtcIntConfig();
        rtcStart();

程序一下载,片子就给锁上了。极其郁闷呢!大家帮忙找出问题,谢谢啦

0条回答

一周热门 更多>