将UART添加到BALBOLE SEMPLE项目

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
马哈居
离线
最后一次露面:2年1个月前
加入:2018-01-29 01:08
将UART添加到BALBOLE SEMPLE项目

我正在尝试使用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.
离线
最后一次露面:2个月3周前
职员
加入:2015-06-08 11:34
嗨马哈茹,

嗨马哈茹,

  1. 由于NMI发生,这意味着代码被困在某个地方,我不认为它是因为UART,无论如何,为了在BLE项目上使用UART打印,您将必须:
    1. 在da1458x_config_basic中定义cfg_printf。
    2. 使用ARCH_PRINTF()API才能将消息打印到UART
    3. 包括ARCH_CONSOLE.H文件,以便使用上述API进行打印消息
    4. 确保从UART2使用的引脚连接到您的FTDI芯片默认引脚来自PIN6和PIN7。
  2. BLE项目的主要功能在ARCH_MAIN.c函数中,并且是MAIN_FUNC(),不要使用此功能为UART初始化,使用上面的方法SDK将为UART进行所有正确的初始化。
  3. 是的,您无法使用标准的Printf实现。

谢谢mt_dialog.

马哈居
离线
最后一次露面:2年1个月前
加入:2018-01-29 01:08
你好

你好

感谢你能这么快回复
我加了
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子板,我还想知道我当前的硬件配置是否会以相同的方式工作。

附件:
mt_dialog.
离线
最后一次露面:2个月3周前
职员
加入:2015-06-08 11:34
嗨马哈茹,

嗨马哈茹,

在启动调试会话时看到的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.