zoukankan      html  css  js  c++  java
  • NRF51822之使用外部32Mhz晶振

    硬件平台为微雪BLE400的(将原来的16mhz晶振改为32mhz。两个旁电容改为22pf)

    以nRF51_SDK_10.0.0_dc26b5eexamplesle_peripheralle_app_uart项目为例

    在main.c中进行修改

    #if defined( USB_SYSTEM_CLOCK_32MHZ)
    #define DEVICE_NAME                     "Nordic_UART_32mhz"                               /**< Name of device. Will be included in the advertising data. */
    #else
    #define DEVICE_NAME                     "Nordic_UART"                               /**< Name of device. Will be included in the advertising data. */
    #endif//USB_SYSTEM_CLOCK_32MHZ
    
    #if defined (USB_SYSTEM_CLOCK_32MHZ)
    /**@brief Function for Set the external high frequency clock source to 32 MHz .
     */
    static void setClock( void )
    {
        // Set the external high frequency clock source to 32 MHz
        NRF_CLOCK->XTALFREQ = 0xFFFFFF00;
        
        // Start the external high frequency crystal
        NRF_CLOCK->EVENTS_HFCLKSTARTED = 0;
        NRF_CLOCK->TASKS_HFCLKSTART = 1;
        
        // Wait for the external oscillator to start up
        while (NRF_CLOCK->EVENTS_HFCLKSTARTED == 0) {}
        
    }
    #endif//USB_SYSTEM_CLOCK_32MHZ
    
    /**@brief Application main function.
     */
    int main(void)
    {
        uint32_t err_code;
        bool erase_bonds;
        uint8_t  start_string[] = START_STRING;
    #if defined (USB_SYSTEM_CLOCK_32MHZ) setClock(); #endif//USB_SYSTEM_CLOCK_32MHZ

    // Initialize. APP_TIMER_INIT(APP_TIMER_PRESCALER, APP_TIMER_OP_QUEUE_SIZE, false); uart_init(); buttons_leds_init(&erase_bonds); ble_stack_init(); gap_params_init(); services_init(); advertising_init(); conn_params_init(); printf("%s",start_string); err_code = ble_advertising_start(BLE_ADV_MODE_FAST); APP_ERROR_CHECK(err_code); // Enter main loop. for (;;) { power_manage(); } }

    修改system_nrf51.C

    #if defined( USB_SYSTEM_CLOCK_32MHZ)
    #define __SYSTEM_CLOCK      (32000000UL)     /*!< nRF51 devices use a fixed System Clock Frequency of 32MHz */
    #else
    #define __SYSTEM_CLOCK      (16000000UL)     /*!< nRF51 devices use a fixed System Clock Frequency of 16MHz */
    #endif//USB_SYSTEM_CLOCK_32MHZ

     后面的测试的步骤和16mhz步骤相同。

  • 相关阅读:
    题解 POJ1149 Pigs
    题解 【网络流24题】运输问题
    题解 【网络流24题】太空飞行计划
    题解 【网络流24题】方格取数问题
    题解 密码锁
    题解 【重庆八中模拟赛】寻找代表元
    题解 [SHOI2010]最小生成树
    题解 【ZJOI2009】 假期的宿舍
    题解 [ZJOI2008]树的统计Count
    JSP页面中的pageEncoding和contentType两种属性(转)
  • 原文地址:https://www.cnblogs.com/libra13179/p/6756856.html
Copyright © 2011-2022 走看看