乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      zigbee選擇內(nèi)部32Khz的晶振

       zigbeeID 2015-09-30
       HAL_BOARD_INIT這是一個硬件初始化函數(shù),主要初始化CC2530的時鐘,LED初始化,  SLEEPCMD &= ~OSC_PD;                                       \
        while (!(SLEEPSTA & XOSC_STB));                                 \
        asm("NOP");                                                            \
        for (i=0; i<504; i++) asm("NOP");                          \
      這段代碼用來開啟16M和32M的時鐘!并等待32M(外部晶振提供)穩(wěn)定。
        CLKCONCMD = (CLKCONCMD_32MHZ | OSC_32KHZ); \
        while (CLKCONSTA != (CLKCONCMD_32MHZ | OSC_32KHZ));    \
        SLEEPCMD |= OSC_PD;                                                      \

      這段代碼開啟了32KHz的時鐘,(什么?32KHz晶振不知道到在哪里?) 32kHz的晶振主要用于低功耗的,如果我們不需要低功耗(也就是網(wǎng)絡(luò)中都是Rout節(jié)點和coordinator節(jié)點)那我們就不需要這個32KHz的晶振了。
                                      \
        PREFETCH_ENABLE();                                             \
                                                                       \
        HAL_TURN_OFF_LED1();                                           \
        LED1_DDR |= LED1_BV;                                           \
        HAL_TURN_OFF_LED2();                                           \
        LED2_DDR |= LED2_BV;                                           \
        HAL_TURN_OFF_LED3();                                           \
        LED3_DDR |= LED3_BV;                                           \
                                                                       \
                                              \
        P0INP |= PUSH2_BV;                                             \

      這些代碼就比較好理解了,用來初始化LED的,還有就是配置一些與按鍵關(guān)的。

      最后這里說個問題偶!也許大家也遇到過!看過之后你就會了解了!

      由于協(xié)議棧默認使用的是外部的32K晶振,如果在板子上沒有32Khz的晶振的時候,有時候會出現(xiàn)問題的喲!什么問題?這么看來你是沒有遇到過了!那么我就告訴你吧。好吧好吧,揭曉答案---那就是板子不好好干活,或者時好時壞,或者一碰就好!
      那么怎么解決呢!悄悄的告訴你答案就在下面偶---------------------------

      CLKCONCMD = (CLKCONCMD_32MHZ | OSC_32KHZ);看到這句沒。秘密就在這兒?
      是的,就在OSC_32KHZ這個宏定義中,那么我們看看它是怎么定義的!
      #if !defined (OSC32K_CRYSTAL_INSTALLED) || (defined (OSC32K_CRYSTAL_INSTALLED) && (OSC32K_CRYSTAL_INSTALLED == TRUE))
        #define OSC_32KHZ  0x00
      #else
        #define OSC_32KHZ  0x80
      #endif

      看到?jīng)],看到?jīng)],就在這熱定義的啊。如果你的板子沒有32Khz的晶振,那么還是選用內(nèi)部的吧--------

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多