硬件环境:nRF52832
SDK版本:nRF5_SDK_15.3.0
项目说明:
由于nRF52832芯片仅仅有一路串口,而在SDK提供的很多例程中(如:ble_app_template,ble_app_blinky_c),其默认将LOG打印的信息放在了UART口上。本帖分享将LOG信息转移到J-LINK的RTT口上,独立出串口,给自己的应用使用。
操作步骤
第一步:在sdk_config.h文件中,设置LOG信息对应RTT,同时关闭打印到UART上。
这个时候,可以烧写代码,到板子中,会发现,开机启动的LOG信息,已经到J-LINK口了。
第二步:初始化UART口,添加相关的文件
1.添加必须的.C文件,路径在图片下方。
路径:
nRF5_SDK_15.3.0_59ac345\components\libraries\uart
nRF5_SDK_15.3.0_59ac345\components\libraries\fifo
2.添加.h文件的查找路径
路径:
../../../../../../components/libraries/uart
../../../../../../components/libraries/fifo
3.在sdk_config.h文件中,打开APP_UART 使能。
当操作到这个步骤,我们会发现,app_uart_fifo.c文件下的函数是没有参与编译的。(如下)
此时,我们需要在sdk_config.h文件中,添加宏定义代码,代码如下,copy进去即可。
//==========================================================
// <q> APP_FIFO_ENABLED - app_fifo - Software FIFO implementation
#ifndef APP_FIFO_ENABLED
#define APP_FIFO_ENABLED 1
#endif
// <q> RETARGET_ENABLED - retarget - Retargeting stdio functions
#ifndef RETARGET_ENABLED
#define RETARGET_ENABLED 1
#endif
// <e> APP_UART_ENABLED - app_uart - UART driver
//==========================================================
#ifndef APP_UART_ENABLED
#define APP_UART_ENABLED 1
#endif
// <o> APP_UART_DRIVER_INSTANCE - UART instance used
// <0=> 0
#ifndef APP_UART_DRIVER_INSTANCE
#define APP_UART_DRIVER_INSTANCE 0
#endif
// </e>
我添加的地方如下:
打开CMSIS进行相关的打开配置(当然,上图代码已经打开了。)