带有用于调试消息的UART的BLE应用程序

3个帖子/ 0个新帖子
最后发表
rydello
离线
最后看到:4年10个月前
加入:2015-10-29 16:51
带有用于调试消息的UART的BLE应用程序

是否有一个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",其中包含注释:“(Do not use for your designs) - (legacy)”和我发现的BLE示例项目都没有使用printf调试,所以我不确定如何在BLE示例中“添加”printf调试。
谢谢你!

设备:
MT_dialog
离线
最后看到:6个月2个星期前
工作人员
加入:2015-06-08 34
嗨rydello,

嗨rydello,

请查看以下,基于SKD5模板,实现UART打印功能所需的步骤:

1)在da1458x_config_basic.h文件中定义CFG_PRINTF_UART2。

2)在user_peripher_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函数,如下所示:

实现:enum arch_main_loop_callback_ret user_app_on_ble_powered(void){返回KEEP_POWERED;}

6)包含提供printf功能的“arch_console.h”文件。

7)使用arch_puts将数据打印到uart中。

由于MT_dialog

rydello
离线
最后看到:4年10个月前
加入:2015-10-29 16:51
谢谢你!我现在可以了

谢谢你!我现在能够看到我的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 ();

谢谢!

主题锁定