是否有一个SDK 5.0.3示例BLE项目(target_app)使用UART进行调试?外围设备示例"\projects\target_apps\peripheral_examples" use "\projects\target_apps\peripheral_examples\shared\common_uart\common_uart.c",其中包含注释:“(不要用于你的设计)-(遗留)”和BLE示例项目我发现没有使用printf调试,所以我不确定如何“添加”printf调试到BLE示例。
谢谢你!
设备:
嗨rydello,
根据SKD5模板,请检查以下步骤,以实现UART上的打印功能:
1)在da1458x_config_basic.h文件中定义CFG_PRINTF_UART2。
2)在user_peri_setup .h中修改TX默认引脚为P0_4, RX默认引脚为P0_5
3)在schedule_while_ble_on中做如下修改:
//授予控制给应用程序,尝试去睡觉
//如果应用返回GOTO_SLEEP
如果(app_asynch_trm ())
{
继续;//再次调用rwip_schedule()
}
其他的
{
arch_printf_process ();
打破;
}
4)在.app_on_ble_powered中的user_callback_config.h中,用自定义函数e.x. user_app_on_ble_powered替换NULL值
5)在empty_peripheral_template.h文件中声明并实现user_app_on_ble_powered函数,如下所示:
实现:枚举arch_main_loop_callback_ret user_app_on_ble_powered(void){返回KEEP_POWERED;}
6)包含提供printf功能的“arch_console.h”文件。
7)使用arch_puts来打印数据到你的uart。
由于MT_dialog
谢谢你!我现在能够看到我的uart调试输出消息。我已经确保定义了CFG_PRINTF和CFG_PRINTF_UART2,我修改了UART2 TX和RX端口/引脚的定义,并实现了user_app_on_ble_powered()回调。但是,schedule_while_ble_on()中的建议更改似乎并不起作用,因为只有在user_app_on_ble_powered()返回false(0)值时才调用arch_printf_process()。我留下的代码,这似乎是工作:
//授予控制给应用程序,尝试去睡觉
//如果应用返回GOTO_SLEEP
如果(! app_asynch_trm ())
打破;
/ / SDKIMPROVEMENTS需要测试! !我们可以添加以下条件并移动
//退出循环
//我们可以考虑把它放在app_asynch_trm之前
/ /如果(GetBits16 (CLK_CTRL_REG RUNNING_AT_XTAL16M))
//执行printf进程
arch_printf_process ();
谢谢!