如何将UART(PRINTF)添加到项目(Reporter_FH)以打印MSG以进行调试

12个帖子/ 0新
最后一篇
ZQINGLIN.
离线
最后一次露面:7年1天前
加入:2014-07-02 08:11
如何将UART(PRINTF)添加到项目(Reporter_FH)以打印MSG以进行调试

现在项目reporter_fh可以运行了。使用Ipnone可以发现DA14580。但我想添加uart.c,就像项目peripheral_examples可以打印MSG到PC。我如何添加uart(printf)到项目(reporter_fh)打印MSG用于调试。

mhv_dialog
离线
最后一次露面:1个月2周前
职员
加入:2013-12-06 15:10
你好,

你好,

这应该帮助您开始:

UART_INIT(UART_BAUDRATE_115K2,3);
UART_FLOW_OFF();
UINT8_T Impers [] = {0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0d,'r','e','a','d','y',0x0d,0x0a,'>'};
UART_WRITE(某物,24,NULL);
UART_FINISH_TRANSFERS();

我希望它能帮助你,

张文
离线
最后一次露面:7年2个星期前
加入:2014-04-15 14:29
你好

你好
我还想将UART添加到项目(Reporter_FH)打印一些消息,如果您已成功为该项目添加了UART,请告诉我,我该怎么办。

vesan.
离线
最后一次露面:5年11个月前
大师 掌握
加入:2014-06-26 08:49
你好,

你好,

驱动程序目录中的UART2.C和UART.C之间有什么区别?

最好的问候,vesa

编辑:我正在尝试使用DA14580打印到串行监视器。我定义了cfg_printf,并在我的项目文件中包含了uart2.c。然后我将上面的代码复制到我的项目源文件中,但我没有收到我的显示器中的消息。我可以有更详细的说明吗?

asmaitha
离线
最后一次露面:5年7个月前
专家
加入:2014-11-20 08:45
你好 ,

你好 ,
甚至我想在App_init_func中打印一些调试语句:Reporter_FH项目中的FH_Proxr_sdk.c。
我添加了UART.C和UART.H来自Peripheral_examples项目,但由于SPI_DI和UART_RX坐在同一端口和相同的引脚上,我在DA14580_CONFIG.h文件中禁用BLE_SPOTA_RECEIVER配置文件。
现在代码逐渐闪烁,但我无法看到任何调试消息。

谢谢
asm.

vesan.
离线
最后一次露面:5年11个月前
大师 掌握
加入:2014-06-26 08:49
嗨asmaitha,

嗨asmaitha,

我建议您使用App_console与打印而不是制作您自己的UART操作操作。这应该有点工作:

  1. 添加#define cfg_printf.da14580_config.h.
  2. 在项目中包含App_console,包括路径:.. \ .. \ .. \ .. \ src \ modules \ app \ src \ app_utils \ app_console
  3. 转到项目视图并右键单击应用程序/文件夹。然后,单击“将现有文件添加到”APP“并添加app_console.c.
  4. 包括文件app_console.h.您要使用它的位置:#include“app_console.h”
  5. 使用功能Arch_printf.打印文本

重要的是您定义了正确的UART引脚!做它periph_setup.c.文件in.拱/文件夹:

保留GPIOgpio_revations.使用以下宏功能:

#ifdef cfg_printf_uart2.
保留_GPIO(UART2_TX,GPIO_PORT_0,GPIO_PIN_4,PID_UART2_TX);
保留_GPIO(UART2_RX,GPIO_PORT_0,GPIO_PIN_5,PID_UART2_RX);
#万一

和在set_pad_functions.功能


#ifdef cfg_printf_uart2.
gpio_configurepin(gpio_port_0,gpio_pin_4,输出,pid_uart2_tx,false);
GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_5, INPUT, PID_UART2_RX, false);
#万一

谢谢

asmaitha
离线
最后一次露面:5年7个月前
专家
加入:2014-11-20 08:45
你好Vesa,

你好Vesa,
尽管做到所有上述更改,但我仍然无法在控制台上看到任何调试消息。
我使用过的声明arch_printf(“hello”);内部app_init_func.

谢谢
asm.

vesan.
离线
最后一次露面:5年11个月前
大师 掌握
加入:2014-06-26 08:49
asmatha你好,

asmatha你好,

你能提供出现问题的更多细节吗?程序是否编制?你用的硬件是什么?您的PIN配置是什么?

你确定你在da14580_config中有以下行,你检查了你没有#undef cfg_printf.在那之后?


/ * UART控制台打印* /
#define cfg_printf.
#ifdef cfg_printf.
#define cfg_printf_uart2.
#万一

谢谢!

asmaitha
离线
最后一次露面:5年7个月前
专家
加入:2014-11-20 08:45
你好Vesa,

你好Vesa,
在da14580_config.h.中
#define cfg_printf.
#define cfg_printf_uart2.
已被定义。

但我仍然有一个怀疑:
在periph_setup.c文件中:
#if(ble_spota_receiver)
保留_GPIO(SPI_CLK,GPIO_PORT_0,GPIO_PIN_0,PID_SPI_CLK);
保留_GPIO(SPI_DO,GPIO_PORT_0,GPIO_PIN_6,PID_SPI_DO);
保留_GPIO(SPI_DI,GPIO_PORT_0,GPIO_PIN_5,PID_SPI_DI);
保留_GPIO(SPI_EN,GPIO_PORT_0,GPIO_PIN_3,PID_SPI_EN);
#万一

#ifdef cfg_printf_uart2.
保留_GPIO(UART2_TX,GPIO_PORT_0,GPIO_PIN_4,PID_UART2_TX);
保留_GPIO(UART2_RX,GPIO_PORT_0,GPIO_PIN_5,PID_UART2_RX);
#万一

所以在UART2_RX和SPI_DI之间,存在一个冲突,这意味着UART端口初始化不会发生在所有仪式中......

谢谢
asm.

vesan.
离线
最后一次露面:5年11个月前
大师 掌握
加入:2014-06-26 08:49
嗨asmaitha,

嗨asmaitha,

实际上,GPIO保留宏根本不重要。他们只是想确保没有冲突。更重要的是你用什么来做gpio_configurepin.职能。而且你令人疑惑地与SPI巴士冲突,事情不起作用!

asmaitha
离线
最后一次露面:5年7个月前
专家
加入:2014-11-20 08:45
你好Vesan,

你好Vesan,
非常感谢。

谢谢
asm.

LittleBee.
离线
最后一次露面:4年8月前
加入:2015-07-13 08:38
对不起,我不是新的

对不起,我并不是新的烦恼。任何人都有一个工作示例,具有功能uart string的smarttag,为基本板写出来。我一直逐步使用VESAN,并与UART的其他示例一起调整它。但我一直跑进__asm(“bkpt#0 \ n”);//此引脚尚未保留!..或根本没有工作。我甚至开始前往城镇删除与PIN储备有关的一切,但仍然被困。