将UART添加到BLE基本示例项目

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
4个职位/ 0个新
最后发表
mahaju
离线
最后看到:2年1个月前
加入:2018-01-29 01:08
将UART添加到BLE基本示例项目

我正在尝试使用DA14580使用DA14580主板和BLE Barebones项目进行关于BLE

我认为不可能使用printf()函数来使用Keil (https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...),所以我试图将眨眼样本程序中的UART功能添加到BLE Barebones项目中

我在Keil的项目树视图中的ble_app_barebone_580中添加了一个组common_uart,并在这个组中包含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.在骨架项目中的main()函数在哪里?我发现int main_func(void){..在arch_main.c}。这是主要功能吗?编辑该文件以添加UART初始化代码是否安全?
3.我不能使用printf()函数添加诊断消息的理解正确吗?

设备:
MT_dialog
离线
最后看到:两个月三个星期前
工作人员
加入:2015-06-08 34
嗨马哈茹,

嗨马哈茹,

  1. 由于NMI发生,这意味着代码卡在某处,我不认为这是由于UART,无论如何,为了使用UART打印BLE项目,你必须:
    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

mahaju
离线
最后看到:2年1个月前
加入:2018-01-29 01:08
你好

你好

感谢您的快速回复
我添加了
1)#define cfg_printf在da1458x_config_basic.h中,之后的#undef cfg_printf已经存在
#include "arch_console.h" in user_barebone.c and
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”)我试着连接插脚7和8的J8我主板(DA14580ATDB-P DA14580DEVKT-P_VC、当前子板,但是我需要这个工作WLCSP34子板)认为将连接端口2针6和7,但UART仍然不起作用

有什么问题吗?或者,是否有可能使用UART而不对主板进行任何硬件更改,使用Blinky程序中使用的相同的硬件和软件设置?

——编辑

通过将J7引脚7连接到J5的12,将J7引脚8连接到J5的14,解决了这个问题
UART输出显示在两个虚拟串行端口中较小的端口上
已完成上述所有软件的修改
(主板为DA14580DEVKT-P_VC,子板为DA14580ATDB-P)

新问题
我仍然想知道是否有可能在BLE项目中启用UART而不需要做任何硬件修改,就像在Blinky程序中一样。我还想知道,如果子板被替换为WL-CSP34子板,我当前的硬件配置是否会以同样的方式工作。

附件:
MT_dialog
离线
最后看到:两个月三个星期前
工作人员
加入:2015-06-08 34
嗨马哈茹,

嗨马哈茹,

在启动调试会话时看到的杂音只是在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