我正在尝试使用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
你好
感谢您的快速回复
我添加了
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子板,我当前的硬件配置是否会以同样的方式工作。
嗨马哈茹,
在启动调试会话时看到的杂音只是在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