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

关于ZNP 中串口DMA数据发送问题

现象:CC2530下载ZNP程序后,会通过串口上传两次重启数据(FE 06 41 80 01 02 02 02 07 02 C1 ),但之后无论通过什么串口指令,CC2530串口都发不出来数据。

这应该是两个问题,1,程序为什么被重启了一次?2,串口数据发不出来。可能是同一个原因造成的。

通过使用CC-DUGGER 调试,可以确定程序已经识别串口发来的指令,并做出了处理,程序问题出现在HalUARTWriteDMA()函数里(_hal_uart_dma.c),具体是在line 588:   if (dmaCfg.txIdx[(txSel ^ 1)] == 0),这个条件被判断为FALSE,所以不会发出数据。原因是程序重来没有进入HalUARTIsrDMA(void)这个函数里。

我使用的是Z-stack3.0.2版本,IAR 使用的是10.20.1。板子没有连接流控引脚,使用CC2530的串口0进行通信。我可以确定已经将串口流控关闭。

有没有前辈知道这是什么原因?

Alvin Chen:

请用Z-tool测试。如有问题查看z-tool log。

user5627466:

回复 Alvin Chen:

在配置里选择了波特率为115200,以及无流控等,但是z-tool 提示“No devices found”

user5627466:

使用DEBUG编译的固件就可以使用,但是选择ZNP-with-SBL和ZNP-without-SBL编译的固件就不能使用,差别在与Debug模式下能够进入HAL_ISR_FUNCTION( halDmaIsr, DMA_VECTOR )函数中,其他的进入不了

Alvin Chen:

回复 user5627466:

你好,我复现不了这个问题,你可以把问题发到英文版试试。
e2e.ti.com/…/158

user5627466:

回复 Alvin Chen:

我使用的IAR版本会不会造成这个的原因,可以问一下你使用的IAR和z-stack 的版本吗?

赞(0)
未经允许不得转载:TI中文支持网 » 关于ZNP 中串口DMA数据发送问题
分享到: 更多 (0)