TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2541 调试打印的问题

1. 已经可以用UART输出调试信息,但是在多个地点输出调试信息时,会出现调试信息被遗漏的情况,使能的是宏包括:

    HAL_UART_DMA=1

    HAL_UART_TX_BY_ISR

     TI的UART输出是同步操作吗?会锁中断吗?在哪些情况下会出现调试UART信息被遗漏覆盖的情况?

2. 是否可以支持使用stdio中的printf打印输出到串口?

    我可以include stdio,同时也可以调用printf,但是没有在我的调试串口中看到printf的输出,在options中去掉"With I/O emulation modules"也没有用,还是看不到printf的打印从UART上输出~

Yan:

Matt,

POWER_SAVING 关闭了吗?

Matt Shao:

回复 Yan:

我试了一下,POWER_SAVING打开或者关闭,都会有UART打印遗漏的情况。

我的UART打印目前还只是集中在启动的时间点,开始Advertising之前,所以我猜测和POWER_SAVING关闭不大。当然我看到有帖子讨论了在POWER_SAVING模式下,UART因为晶振没有,所以不能使用,但是我估计和我说的情况不是一种。

具体的情况,我可以再自己调试看看~~

但是想先问问能不能用printf输出UART调试,自己编写函数实现0x%x的输出比较烦,如果能用prinf的话,打印就很方便了~

Yan:

回复 Matt Shao:

Matt,

不推荐用 printf(), 推荐你用 HalUARTWrite()来做UART 输出进行调试。

有其他客户就是这么做的。

ben wei:

回复 Yan:

Dear TI/Matt

能不能請問cc2541 sensortag有沒有設定uart的guide or doc?

本人有看一些文件

但都試不太起來,想要問有沒有操作文件步驟可看呢?

Thanks 

Ben

Yan:

回复 ben wei:

ben,

sensortag没有特别针对UART开发的文档。

关于UART的示例,最好就是参考 HostTestApp 里面的2541EM 工程。

ben wei:

回复 Yan:

Dear Yan,

謝謝你,不過我看好像hostestAPP比較不太一樣可以順便再問你這問題嗎?這是我發問的問題

如果你知道的話,順便回答一下 萬分感謝 

http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/61174.aspx

THanks

Ben

Matt Shao:

回复 Yan:

Hi Yan:

     我已经在用HalUartWrite做打印了,但是就是发现这样的打印不方便,我必须自己实现一些列的%x/%d这样的适配,既然CC2541集成了stdio的库,为什么不支持printf的打印呢?使用printf的打印即有通用性,有方便,强烈建议TI考虑一下~

Yan:

回复 Matt Shao:

Matt,

谢谢你的建议。

没采用printf 的原因,我理解是因为printf 的效率以及不可重入性,调用地方多,会对系统产生不可预知的问题。

赞(0)
未经允许不得转载:TI中文支持网 » CC2541 调试打印的问题
分享到: 更多 (0)