现象: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 的版本吗?