你好!
我在SDK5中串行日志记录接口遇到了问题。我想将一些信息打印到控制台以进行调试。我正在使用SDK5中的BLE_APP_BAREBONE示例项目。
我配置了软件如下:
1.在da1458x_config_basic.h标题文件中
//#undef cfg_printf
#define cfg_printf // vun
#ifdef cfg_printf.
#define cfg_printf_uart2.
#万一
2.在user_periph_setup.h标题文件中
#if hw_config_basic_dk ||hw_config_pro_dk.
#define uart1_tx_gpio_port gpio_port_1.
#define uart1_tx_gpio_pin gpio_pin_2
#define uart1_rx_gpio_port gpio_port_1
#define uart1_rx_gpio_pin gpio_pin_3.
3.在Arch_Main.c文件中
int main_func(void)
{
sleep_mode_t sleep_mode;
//全球初始化
system_init();
Arch_Printf(“Hello World \ R \ n”);
}
4.还将UART2.c文件添加到SDK_Driver文件夹中,并包含在“包含路径中”,因此成功编译
在所有上述修改之后,我使用“重建”选项编译BLE_APP_BAREBONE示例项目。但是,控制台上没有任何内容配置为115200 - 8N1。要验证DA14583基本DEV板上的UART引脚,我还没有损坏,我在SDK3中使用Template_583示例项目尝试了一些修改,基本上与上述步骤相同。它有效,所以我可以排除硬件和驱动程序问题。
可以请检查并告诉我SDK5中的串行日志记录接口可能出现问题。谢谢!
大家好你们好!
所以,我解决了这个问题。它似乎是SDK5中的错误。通过注释// Arch_PrintF_Process()解决问题;并将此功能移动到Schedule_While_ble_On(void)函数中的另一个位置
if(ble_evt_end_set)
{
uint32_t sleep_duration = 0;
rcx20_read_freq();
//如果您有足够的时间运行收音机的温度校准
if(lld_sleep_check(&sleep_duration,4))// 6插槽 - > 3.750 ms
//检查时间和温度以运行无线电校准。
条件_run_radio_cals();
}
ARCH_PRINTF_PROCESS();
//授予对申请的控制,尝试睡觉
//如果Applciation返回Goto_sleep
if(!app_asynch_trm())
休息;