Discuz! Board

标题: 关于RTC实验的问题 [打印本页]

作者: ldcung    时间: 2015-8-21 16:10
标题: 关于RTC实验的问题
小弟是小白,刚开始学起,有没有哪位大神能帮我解释一下下面函数每句话的意思
void lfclk_config(void)
{
    NRF_CLOCK->LFCLKSRC             = (CLOCK_LFCLKSRC_SRC_Xtal << CLOCK_LFCLKSRC_SRC_Pos);//使用外部32K晶振源
    NRF_CLOCK->EVENTS_LFCLKSTARTED  = 0;//教程上注释本句是“关16M振荡”, 这句理解不清
    NRF_CLOCK->TASKS_LFCLKSTART     = 1;//教程上注释本句是“开32K振荡”
    while (NRF_CLOCK->EVENTS_LFCLKSTARTED == 0)//这里配置完成会系统置1吗?
    {
        //Do nothing.
    }
    NRF_CLOCK->EVENTS_LFCLKSTARTED = 0;//为什么这里又置0了?
}



作者: hu25886    时间: 2016-12-14 13:38
我也是个小白,也刚接触NRF51822.
NRF_CLOCK->LFCLKSRC     =   (CLOCK_LFCLKSRC_SRC_Xtal << CLOCK_LFCLKSRC_SRC_Pos);  // 这句使用内部32.768KHz
NRF_CLOCK->EVENTS_LFCLKSTARTED  = 0;   // (个人)  清除LFCLK启动事件(标志位)
NRF_CLOCK->TASKS_LFCLKSTART     = 1;    //  开启LFCLK
while (NRF_CLOCK->EVENTS_LFCLKSTARTED == 0)    //  当LFCLK启动完成,会有产生启动事件也就是置1
    {
        //Do nothing.
    }
NRF_CLOCK->EVENTS_LFCLKSTARTED = 0;    //  只是再一次的清标志而已,和串口类似:发送完一串
// 数据会置位相应寄存器某一位,进行下一次的数据传送需要将其清除。
// 这里如果你不进行其他时钟的配置,可以不清除
作者: hu25886    时间: 2016-12-14 13:38
我也是个小白,也刚接触NRF51822.
NRF_CLOCK->LFCLKSRC     =   (CLOCK_LFCLKSRC_SRC_Xtal << CLOCK_LFCLKSRC_SRC_Pos);  // 这句使用内部32.768KHz
NRF_CLOCK->EVENTS_LFCLKSTARTED  = 0;   // (个人)  清除LFCLK启动事件(标志位)
NRF_CLOCK->TASKS_LFCLKSTART     = 1;    //  开启LFCLK
while (NRF_CLOCK->EVENTS_LFCLKSTARTED == 0)    //  当LFCLK启动完成,会有产生启动事件也就是置1
    {
        //Do nothing.
    }
NRF_CLOCK->EVENTS_LFCLKSTARTED = 0;    //  只是再一次的清标志而已,和串口类似:发送完一串
// 数据会置位相应寄存器某一位,进行下一次的数据传送需要将其清除。
// 这里如果你不进行其他时钟的配置,可以不清除




欢迎光临 Discuz! Board (http://qfv8.com/) Powered by Discuz! X3