我正在尝试使用DA14580使用DA14580主板和BLE Barebones项目进行关于BLE
我认为无法使用keil调试printf()函数(https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...),所以我试图将眨眼样本程序中的UART功能添加到BLE Barebones项目中
我在keil的项目树视图中添加了一个common_uart到ble_app_barebone_580,并在这个组中包含common_uart.c
common_uart.c和common_uart.h文件在文件夹“... ble_app_barebone \ src”中添加了文件
我在user_barebones.c中添加了以下行
#include“common_uart.h”
printf_string(“输入user_app_adv_start \ n”);
它构建没有任何错误,但是当我在进入调试模式后运行程序时,它会停止此时
__asm(“bkpt#0 \ n”);
在nmi_handler.c.中
我没有对我认为可能导致这种情况的UART进行任何初始化。所以我的问题是:
1.这是在鞍地区添加UART的正确方法吗?
2.Artbones项目中的main()函数在哪里?我发现int main_func(void){..}在Arch_main.cn内。这是主要功能吗?编辑此文件是否可以安全地添加UART初始化代码?
3.我是否正确理解我不能使用printf()函数来添加诊断消息?
设备:
嗨马哈茹,
谢谢mt_dialog.
你好
感谢你能这么快回复
我加了
1)#define cfg_printf在da1458x_config_basic.h中,之后的#undef cfg_printf已经存在
2)user_barebone.c中的#include“arch_console.h”
3)ARCH_PRINTF(“输入user_app_adv_start \ n”);在函数中void user_app_adv_start(void)
我希望当BLE广告开始时,我会在Teraterm上看到一些东西,但我没有看到任何东西
当程序开始时,我看到几行痛苦,但在此之后没有任何东西
我已经将波特率和COM端口设置为与Blinky示例程序一起使用的相同值
然而,我不确定你在早期回复中的意思。我在默认位置留下了板上的所有跳线,当我收到它时,电路板的设置相同(我已经附上了当前跳线位置的屏幕截图)。Blinky样品在没有任何跳线修改的情况下工作
查看原理图文档后(第1页的“e-da14580devkt-p_vb_schematic.pdf”)我尝试了在我的主板上的j8的连接销7和8(da14580devkt-p_vc,当前的子板是da14580atdb-p,但我需要这个为WLCSP34子板工作也适用于连接Port2引脚6和7的思考,但UART仍然无法正常工作
可能是什么问题呢?或者,可以使用在Blinky程序中使用相同的硬件和软件设置而没有对主板进行任何硬件更改的情况下,可以使用UART?
- - 编辑 - -
通过J5的J7至12的引脚7和J5的J7至14的引脚8的连接销7来解决了该问题。
UART输出显示在两个虚拟串行端口的较小部分上
已经制作了上述所有软件修改
(主板是DA14580DEVKT-P_VC,子板是DA14580ATDB-P)
**新问题**
我仍然想知道是否可以在BLE项目中启用UART,而无需进行任何硬件修改,与Blinky程序相同。如果使用WL-CSP34子板,我还想知道我当前的硬件配置是否会以相同的方式工作。
嗨马哈茹,
在启动调试会话时看到的jiberish只是在JTAG重置电路板之后执行的引导加载程序。
在第4点中提到的我在4中提到的是改变默认的UART2引脚(因为默认打印实用程序使用UART 2,默认引脚为P26和P27),因此这是打印的位置,因此您可以连接两个选项具有上面提到的引脚的on LoSt FTDI引脚或将引脚配置和使用代替P26和P27作为TX和Rx的PIN P04和P05(检查UART2_TX / RX_GPIO_PORT和UART2_TX / RX_GPIO_PIN))。使用后一种方法,您不必在Pro套件上更改任何配置,并将跳线配置保持在附件上。
我想上面的关于WL-CSP34的问题的上述声明答案,因为该包没有Port2引脚,但只有Port0和Port1,所以上述方法也将为CSP包工作。
谢谢mt_dialog.