你好,
我想要能够从我的项目打印到串行监视器。怎么做呢?我想有类似的功能,利用外围设备的例子,但它说(不要使用为您的设计)。
最好的问候,视频电子设备标准协会
我还需要答案。任何建议吗?
BR,视频电子设备标准协会
我尝试将uart.c添加到我的项目中,并在项目包含路径中包含驱动程序路径。我不能编译项目,然后我得到许多错误:src\plf\refip\src\driver\uart\uart.cExtern const uint32_t jump_table_struct[];. . \ \…\ src \ plf \ uart \ \ refip \ src \司机uart.c(290):错误:# 65:预计”;“Extern const uint32_t jump_table_struct[];. . \ \…\ src \ plf \ uart \ \ refip \ src \司机uart.c(296):错误:# 18:预计“)”PtrFunc = (my_function) (jump_table_struct [uart_init_pos]);. . \ \…\ src \ plf \ uart \ \ refip \ src \司机uart.c(346):错误:# 18:预计“)”PtrFunc = (my_function) (jump_table_struct [uart_flow_on_pos]);...
src\plf\refip\src\driver\uart\uart.cExtern const uint32_t jump_table_struct[];. . \ \…\ src \ plf \ uart \ \ refip \ src \司机uart.c(290):错误:# 65:预计”;“Extern const uint32_t jump_table_struct[];. . \ \…\ src \ plf \ uart \ \ refip \ src \司机uart.c(296):错误:# 18:预计“)”PtrFunc = (my_function) (jump_table_struct [uart_init_pos]);. . \ \…\ src \ plf \ uart \ \ refip \ src \司机uart.c(346):错误:# 18:预计“)”PtrFunc = (my_function) (jump_table_struct [uart_flow_on_pos]);...
抱歉耽搁了,我去找人看看。BR JE_Dialog
嗨视频电子设备标准协会,你看过我们的串行端口服务参考设计吗?它是一个DA14580串口服务参考应用程序,仿真串口电缆的通信。这可能非常适合您的串行监视器项目。最好的问候,RvA(对话框)
谢谢RvA,
我终于解决了这个问题。由于某些原因,打印还不能与我自己的项目,这是一个template_fh的副本,我只是包括电池服务。打印使用template_fh:
CFG_PRINTF
da14580_config.h
periph_setup.c
# 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//# 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
periph_init ()
# ifdef CFG_PRINTF_UART2SetBits16 (CLK_PER_REG UART2_ENABLE 1);uart2_init (UART_BAUDRATE_115K2 3);# endif
app_template_proj.c
#定义DBG_PRINT (str) \uart2_flow_on ();\uart2_flow_off ();\uart2_finish_transfers ();\uart2_write((uint8_t *)str, sizeof(str), NULL)
我不确定流量控制和FTDI,但它是有效的。
编辑:我注意到我不小心使用了uart_finish_transfers()而不是uart2_finish_transfers()。这是固定现在和一切似乎工作的方法,我上面的方法。出于某种原因,在这两种情况下,甚至uart.c都没有包含在我的项目中(在项目中实现了uart_finish_tranfers()函数)。
你好,
我还需要答案。任何建议吗?
BR,视频电子设备标准协会
我尝试将uart.c添加到我的项目中,并在项目包含路径中包含驱动程序路径。我不能编译项目,然后我得到许多错误:
src\plf\refip\src\driver\uart\uart.c
Extern const uint32_t jump_table_struct[];
. . \ \…\ src \ plf \ uart \ \ refip \ src \司机uart.c(290):错误:# 65:预计”;“
Extern const uint32_t jump_table_struct[];
. . \ \…\ src \ plf \ uart \ \ refip \ src \司机uart.c(296):错误:# 18:预计“)”
PtrFunc = (my_function) (jump_table_struct [uart_init_pos]);
. . \ \…\ src \ plf \ uart \ \ refip \ src \司机uart.c(346):错误:# 18:预计“)”
PtrFunc = (my_function) (jump_table_struct [uart_flow_on_pos]);
...
抱歉耽搁了,我去找人看看。BR JE_Dialog
嗨视频电子设备标准协会,
你看过我们的串行端口服务参考设计吗?它是一个DA14580串口服务参考应用程序,仿真串口电缆的通信。这可能非常适合您的串行监视器项目。
最好的问候,
RvA(对话框)
谢谢RvA,
我终于解决了这个问题。由于某些原因,打印还不能与我自己的项目,这是一个template_fh的副本,我只是包括电池服务。打印使用template_fh:
CFG_PRINTF在da14580_config.h行~ 30。这个定义将使GPIO保留并配置GPIOperiph_setup.c:periph_setup.c# 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
//
# 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
periph_init ()功能:必须使能UART时钟,UART init也可以执行:periph_setup.c# ifdef CFG_PRINTF_UART2
SetBits16 (CLK_PER_REG UART2_ENABLE 1);
uart2_init (UART_BAUDRATE_115K2 3);
# endif
app_template_proj.c根据UM-B-004:app_template_proj.c#定义DBG_PRINT (str) \
uart2_flow_on ();\
uart2_flow_off ();\
uart2_finish_transfers ();\
uart2_write((uint8_t *)str, sizeof(str), NULL)
我不确定流量控制和FTDI,但它是有效的。
编辑:我注意到我不小心使用了uart_finish_transfers()而不是uart2_finish_transfers()。这是固定现在和一切似乎工作的方法,我上面的方法。出于某种原因,在这两种情况下,甚至uart.c都没有包含在我的项目中(在项目中实现了uart_finish_tranfers()函数)。