历史上的今天
今天是:2025年03月09日(星期日)
2020年03月09日 | NRF51822之使用外部32Mhz晶振
2020-03-09 来源:eefocus
硬件平台为微雪BLE400的(将原来的16mhz晶振改为32mhz。两个旁电容改为22pf)

以nRF51_SDK_10.0.0_dc26b5eexamplesble_peripheralble_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步骤相同。
史海拾趣
|
用VS生成的一个应用程序,界面上显示一些字符和变量值等,用的语句是DrawText() 有一点不明白的是同样一个应用程序,在个别的NK设置里边显示会出错,界面中的字符全都显示不出来,菜单栏上的“文件”“帮助”都看得到。 希望了解的人能够给予解 ...… 查看全部问答> |
|
有好几个问题想请教一下: 1.系统采用Wince6 R2的,之前系统分辨率是240*320的,客户感觉这个屏幕有颗粒感就换成了320*480,但是微软的输入法小键盘现在还是显示240*320的大小,怎么样能让他适应320*480的屏幕呢? 2.有没有wince6上面 ...… 查看全部问答> |
|
用开发板的一个串口驱动GPRS模块 调试时用普通的三线通信(收发地)时没有问题,发送和接收都正确。 可是用硬件流控时,发送的数据就不能到达modem。请问可能是什么原因? 板子是arm9的开发板,linux内核。… 查看全部问答> |
|
1.基本要求 (1)输出电压:范围0~+9.9V,步进0.1V,纹波不大于10mV; (2)输出电流:500mA; (3)输出电压值由数码管显示; (4)由“+”、“-”两键分别控制输出电压步进增减; (5)为实现上述几部件工作,自制一稳压 ...… 查看全部问答> |
|
常用的几种照明方式,根据灯具光通量的空间分布状况及灯具的安装方式,室内照明方式可分为五种: 1、直接照明 光线通过灯具射出,其中90%-100%的光通量到达假定的工作面上,这种照明方式为直接照明。这种照明方式具有强烈的明暗对比 ...… 查看全部问答> |
|
德州仪器 (TI) WEBENCH 团队经理Jeff Perry为您介绍 WEBENCH BOM 管理以及如何更改 WEBENCH 设计中的组件。WEBENCH是一种端对端设计解决方案,提供在线选择、仿真和原型设计功能。它包括动态设计优化,允许您针对小尺寸、低成本或高效率来优化设计 ...… 查看全部问答> |
|
学模拟+工业远距离通信使用的RS-232至RS-485转换器 本帖最后由 dontium 于 2015-1-23 11:43 编辑 工业远距离通信使用的RS-232至RS-485转换器作者:ThomasKugelstadt,德州仪器 TI链接:deyisupport./blog/b/analogwire/archive/2013/11/22/rs-232-rs-485.aspx 这篇文章很好的解释了RS-232与RS-485 ...… 查看全部问答> |




