如何利用调试打印?

6个职位/0个新职位
最后一篇文章
维桑
离线
最后一次见到:5年4个月前
上师 硕士
已加入:2014-06-26 08:49
如何利用调试打印?

你好,

我想能够打印到串行监视器从我的项目。怎么做?我想有类似的功能,如在外设使用的例子,但它说(不要用于您的设计)。

敬你,维萨

维桑
离线
最后一次见到:5年4个月前
上师 硕士
已加入:2014-06-26 08:49
你好,

你好,

我仍然需要答案。有什么建议吗?

比尔,维萨

维桑
离线
最后一次见到:5年4个月前
上师 硕士
已加入:2014-06-26 08:49
我尝试将uart.c添加到我的

我尝试将uart.c添加到我的项目中,并在projectinclude路径中包含驱动程序路径。当时我无法编译该项目,并且出现了许多错误:
..\..\..\src\plf\refip\src\driver\uart\uart.c(290):错误:#101:“uint32\u t”已在当前作用域中声明
外部常量uint32跳转表结构[];
..\..\..\src\plf\refip\src\driver\uart\uart.c(290):错误:#65:应为“;”
外部常量uint32跳转表结构[];
..\..\..\src\plf\refip\src\driver\uart\uart.c(296):错误:#18:应为“)”
PtrFunc=(my_函数)(jump_table_struct[uart_init_pos]);
..\..\..\src\plf\refip\src\driver\uart\uart.c(346):错误:#18:应为“)”
PtrFunc=(my_函数)(jump_table_struct[uart_flow_on_pos]);
...

JE\U对话框
离线
最后一次见到:2天18小时前
工作人员
已加入:2013-12-05 14:02
抱歉耽搁了,我马上就来

抱歉耽搁了,我会叫人来看看这个。BR JE\u对话框

维生素A
离线
最后一次见到:6天20小时前
工作人员
已加入:2014-02-07 14:10
你好,维萨,

你好,维萨,
你看过我们的串口服务参考设计了吗?它是一个DA14580串口服务的参考应用程序,模拟串口电缆通信。这可能很适合您的串行监视器项目。
顺致敬意,
RvA(对话框)

维桑
离线
最后一次见到:5年4个月前
上师 硕士
已加入:2014-06-26 08:49
谢谢RvA,

谢谢RvA,

我终于解决了这个问题。由于某些原因,打印还不能与我自己的项目,这是一个模板的副本,我只是包括电池服务。打印使用模板\u fh:

  1. 我定义了CFG\u打印在里面da14580\配置h第30行。此定义将保留GPIO并在中配置GPIO外围设置.c:
    外围设置.c

    #ifdef CFG\u PRINTF\u UART2格式
    保留\u GPIO(UART2 \u TX、GPIO \u端口\u 0、GPIO \u引脚\u 4、PID \u UART2 \u TX);
    保留GPU(UART2\U RX、GPIO\U端口\U 0、GPIO\U引脚\U 5、PID\U UART2\U RX);
    #结束
    //
    #ifdef CFG\u PRINTF\u UART2格式
    GPIO\ U配置引脚(GPIO\ U端口\ U 0,GPIO\ U引脚\ U 4,输出,PID\ U UART2\ U TX,false);
    GPIO\ U配置引脚(GPIO\ U端口\ U 0,GPIO\ U引脚\ U 5,输入,PID\ UART2\ U RX,false);
    #结束
  2. 外围初始化()功能:必须启用UART时钟,并且可以执行UART初始化:
    外围设置.c

    #ifdef CFG\u PRINTF\u UART2格式
    SetBits16(CLK\ U PER\ U REG,UART2\ U ENABLE,1);
    uart2_init(UART_波特率_115K2,3);
    #结束
  3. 然后我在应用程序模板项目根据UM-B-004:
    应用程序模板项目

    #定义DBG\ U打印(str)\
    uart2_flow_on()\
    uart2_flow_off()\
    uart2_finish_transfers()\
    uart2\u write((uint8\u t*)str,sizeof(str),NULL)
  4. 我不确定流量控制和FTDI,但它在工作。

编辑:我注意到我不小心在上面使用了uart\u finish\u transfers()而不是uart2\u finish\u transfers()。这是固定的,现在一切似乎与上述方法我工作。出于某种原因,在这两种情况下它都是编译的,甚至uart.c也没有包含在我的项目中(其中实现了uart\u finish\u tranfers()函数)。

主题已锁定