SDK5中的串行日志接口问题(已解决)

2个帖子/ 0个新
最后发表
quangng
离线
最后看到:11个月3天前
加入:2015-10-29 22:03
SDK5中的串行日志接口问题(已解决)

这就跟你问声好!

我在SDK5的串行日志接口有问题。我想打印一些信息到控制台进行调试。我使用的是SDK5中的ble_app_barebone示例项目。
我对软件的配置如下:
1.在da1458x_config_basic.h头文件中
/ / # undef CFG_PRINTF
#定义CFG_PRINTF / / VuN
# ifdef CFG_PRINTF
#定义CFG_PRINTF_UART2
# endif

2.在头文件user_peri_setup .h中

#if HW_CONFIG_BASIC_DK ||

#定义UART1_TX_GPIO_PORT GPIO_PORT_1
#定义UART1_TX_GPIO_PIN GPIO_PIN_2

#定义UART1_RX_GPIO_PORT GPIO_PORT_1
#定义UART1_RX_GPIO_PIN GPIO_PIN_3

3.在arch_main.c文件
int main_func(空白)

sleep_mode_t sleep_mode;

/ /全局初始化
system_init ();

arch_printf(“Hello World \r\n”);

4.另外,uart2.c文件被添加到sdk_driver文件夹中,并包含在Include Paths中,因此它编译成功

在所有上述修改之后,我使用“Rebuild”选项编译了ble_app_barebone示例项目。但是,在配置为115200 - 8N1的控制台上什么也没有出现。为了验证我正在使用的DA14583基本开发板上的UART引脚没有损坏,我在SDK3中尝试了template_583示例项目,并做了一些基本与上述步骤相同的修改。它能工作,所以我可以排除硬件和驱动的问题。

你能检查一下并告诉我SDK5的串行日志接口可能出了什么问题吗?谢谢你!

设备:
quangng
离线
最后看到:11个月3天前
加入:2015-10-29 22:03
大家好!

大家好!

所以,我解决了这个问题。这似乎是SDK5中的一个bug。这个问题可以通过注释掉arch_printf_process()来解决;然后将此函数移动到schedule_while_ble_on(void)函数中的另一个位置

如果(ble_evt_end_set)

Uint32_t sleep_duration = 0;
rcx20_read_freq ();

//如果你有足够的时间对收音机进行温度校准
If (lld_sleep_check(&sleep_duration, 4)) //6 slots -> 3.750 ms
//检查时间和温度运行无线电校准。
conditionally_run_radio_cals ();

arch_printf_process ();

//授予控制给应用程序,尝试去睡觉
//如果应用返回GOTO_SLEEP
如果(! app_asynch_trm ())
打破;

主题锁定