现在项目reporter_fh可以运行了。使用Ipnone可以发现DA14580。但我想添加uart.c,就像项目peripheral_examples可以打印MSG到PC。我如何添加uart(printf)到项目(reporter_fh)打印MSG用于调试。
你好,
这应该会帮助你开始:
我希望这对你有帮助,
嗨我也想添加uart到项目(reporter_fh)打印一些消息,如果你已经成功添加uart到那个项目,请告诉我,我应该做什么。
uart2.c和uart.c在驱动目录中的区别是什么?
最好的问候,视频电子设备标准协会
编辑:我试图打印到串行监视器与DA14580。我定义了CFG_PRINTF并在项目文件中包含了uart2.c。然后我把上面的代码复制到我的项目源文件中,但我在监视器中没有收到消息。我能得到更详细的说明吗?
你好,即使我想打印一些调试语句app_init_func在文件:fh_proxr_sdk.c在reporter_fh项目。我从peripheral_examples项目中添加了uart.c和uart.h,但由于SPI_DI和UART_RX坐在相同的端口和相同的PIN上,我禁用了da14580_config.h文件中的BLE_SPOTA_RECEIVER配置文件。现在代码正在闪烁,但我无法看到任何调试MSGS。
谢谢asm
嗨asmaitha,
我建议您在打印时使用app_console,而不是进行自己的uart操作操作。这应该有点作用:
#定义CFG_PRINTF
. . \ \…\ src \ \ app \ src \ app_utils \ app_console模块
# include“app_console.h”
arch_printf
定义正确的UART引脚非常重要!用periph_setup.c文件中拱/文件夹:
储备GPIOGPIO_reservations函数与以下宏:# ifdef CFG_PRINTF_UART2Reserve_gpio (uart2_tx, gpio_port_0, gpio_pin_4, pid_uart2_tx);Reserve_gpio (uart2_rx, gpio_port_0, gpio_pin_5, pid_uart2_rx);# endif
GPIO_reservations
# ifdef CFG_PRINTF_UART2Reserve_gpio (uart2_tx, gpio_port_0, gpio_pin_4, pid_uart2_tx);Reserve_gpio (uart2_rx, gpio_port_0, gpio_pin_5, pid_uart2_rx);# endif
而在set_pad_functions函数
set_pad_functions
# ifdef CFG_PRINTF_UART2gpio_configurein (GPIO_PORT_0, GPIO_PIN_4, OUTPUT, PID_UART2_TX, false);GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_5, INPUT, PID_UART2_RX, false);# endif
谢谢
你好,视频电子设备标准协会,尽管做了上面提到的所有更改,我仍然无法在控制台上看到任何调试msg。我使用了一个语句arch_printf("Hello");内部app_init_func
你好asmaitha,
你能否提供更多细节?程序能编译吗?你用的是什么硬件?你的pin配置是什么?
您确定在da14580_config.h中有以下行吗?您检查过没有吗# undef CFG_PRINTF后呢?
# undef CFG_PRINTF
/ * UART控制台打印* /#定义CFG_PRINTF# ifdef CFG_PRINTF#定义CFG_PRINTF_UART2# endif
谢谢!
你好,视频电子设备标准协会,在da14580_config.h#定义CFG_PRINTF#定义CFG_PRINTF_UART2已定义。
但我仍然有一个基本的疑问:在peripher_setup .c文件中:#如果(BLE_SPOTA_RECEIVER)Reserve_gpio (spi_clk, gpio_port_0, gpio_pin_0, pid_spi_clk);Reserve_gpio (spi_do, gpio_port_0, gpio_pin_6, pid_spi_do);Reserve_gpio (spi_di, gpio_port_0, gpio_pin_5, pid_spi_di);Reserve_gpio (spi_en, gpio_port_0, gpio_pin_3, pid_spi_en);# endif
所以这里在UART2_RX和SPI_DI之间,有一个冲突,这意味着UART端口初始化根本不会发生…
实际上,GPIO保留宏根本不重要。他们只是想确保没有冲突。更重要的是你用什么来做GPIO_ConfigurePin功能。你显然与SPI总线有冲突,事情不会工作!
GPIO_ConfigurePin
你好VesaN,非常感谢。
对不起,我不是新手,只是生气而已。任何人都有一个SmartTag的工作示例与功能的UART字符串写出来的基本板。我已经一步一步地玩了VesaN的例子,并与其他uart的例子一起调整了它。但是我总是碰到__asm(“BKPT #0\n”);//这个pin之前没有被保留!..或者根本不工作。我甚至开始删除所有与pin reserve相关的东西,但仍然卡住了。
你好,
这应该会帮助你开始:
我希望这对你有帮助,
嗨
我也想添加uart到项目(reporter_fh)打印一些消息,如果你已经成功添加uart到那个项目,请告诉我,我应该做什么。
你好,
uart2.c和uart.c在驱动目录中的区别是什么?
最好的问候,视频电子设备标准协会
编辑:我试图打印到串行监视器与DA14580。我定义了CFG_PRINTF并在项目文件中包含了uart2.c。然后我把上面的代码复制到我的项目源文件中,但我在监视器中没有收到消息。我能得到更详细的说明吗?
你好,
即使我想打印一些调试语句app_init_func在文件:fh_proxr_sdk.c在reporter_fh项目。
我从peripheral_examples项目中添加了uart.c和uart.h,但由于SPI_DI和UART_RX坐在相同的端口和相同的PIN上,我禁用了da14580_config.h文件中的BLE_SPOTA_RECEIVER配置文件。
现在代码正在闪烁,但我无法看到任何调试MSGS。
谢谢
asm
嗨asmaitha,
我建议您在打印时使用app_console,而不是进行自己的uart操作操作。这应该有点作用:
#定义CFG_PRINTF
在da14580_config.h. . \ \…\ src \ \ app \ src \ app_utils \ app_console模块
# include“app_console.h”
arch_printf
打印文本定义正确的UART引脚非常重要!用periph_setup.c文件中拱/文件夹:
储备GPIO
GPIO_reservations
函数与以下宏:# ifdef CFG_PRINTF_UART2
Reserve_gpio (uart2_tx, gpio_port_0, gpio_pin_4, pid_uart2_tx);
Reserve_gpio (uart2_rx, gpio_port_0, gpio_pin_5, pid_uart2_rx);
# endif
而在
set_pad_functions
函数# ifdef CFG_PRINTF_UART2
gpio_configurein (GPIO_PORT_0, GPIO_PIN_4, OUTPUT, PID_UART2_TX, false);
GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_5, INPUT, PID_UART2_RX, false);
# endif
谢谢
你好,视频电子设备标准协会,
尽管做了上面提到的所有更改,我仍然无法在控制台上看到任何调试msg。
我使用了一个语句arch_printf("Hello");内部app_init_func
谢谢
asm
你好asmaitha,
你能否提供更多细节?程序能编译吗?你用的是什么硬件?你的pin配置是什么?
您确定在da14580_config.h中有以下行吗?您检查过没有吗
# undef CFG_PRINTF
后呢?/ * UART控制台打印* /
#定义CFG_PRINTF
# ifdef CFG_PRINTF
#定义CFG_PRINTF_UART2
# endif
谢谢!
你好,视频电子设备标准协会,
在da14580_config.h
#定义CFG_PRINTF
#定义CFG_PRINTF_UART2
已定义。
但我仍然有一个基本的疑问:
在peripher_setup .c文件中:
#如果(BLE_SPOTA_RECEIVER)
Reserve_gpio (spi_clk, gpio_port_0, gpio_pin_0, pid_spi_clk);
Reserve_gpio (spi_do, gpio_port_0, gpio_pin_6, pid_spi_do);
Reserve_gpio (spi_di, gpio_port_0, gpio_pin_5, pid_spi_di);
Reserve_gpio (spi_en, gpio_port_0, gpio_pin_3, pid_spi_en);
# endif
# ifdef CFG_PRINTF_UART2
Reserve_gpio (uart2_tx, gpio_port_0, gpio_pin_4, pid_uart2_tx);
Reserve_gpio (uart2_rx, gpio_port_0, gpio_pin_5, pid_uart2_rx);
# endif
所以这里在UART2_RX和SPI_DI之间,有一个冲突,这意味着UART端口初始化根本不会发生…
谢谢
asm
嗨asmaitha,
实际上,GPIO保留宏根本不重要。他们只是想确保没有冲突。更重要的是你用什么来做
GPIO_ConfigurePin
功能。你显然与SPI总线有冲突,事情不会工作!你好VesaN,
非常感谢。
谢谢
asm
对不起,我不是新手,只是生气而已。任何人都有一个SmartTag的工作示例与功能的UART字符串写出来的基本板。我已经一步一步地玩了VesaN的例子,并与其他uart的例子一起调整了它。但是我总是碰到__asm(“BKPT #0\n”);//这个pin之前没有被保留!..或者根本不工作。我甚至开始删除所有与pin reserve相关的东西,但仍然卡住了。