TI中文支持网
TI专业的中文技术问题咨询交流网站

MCU-PLUS-SDK-AM263X: AM263X CC开发板 串口+edma 查询方式接收出现问题

Part Number:MCU-PLUS-SDK-AM263X

各位老师好!

我在调试AM263x CC 开发板的 串口 edma 通信例程时。想实现 edma+串口:查询方式接收串口数据。

步骤如下:

1,当我检测到breloadcnt-bcnt>0时。我调用了:

static int32_t UART_edmaDisableChannel(UART_Handle handle,uint32_t isChannelTx);
2,来暂停edma传输。
3,数据接收处理完成后。重新调用Uart_read.开始新的传输,如此往复。
结果:
在测试的过程中发现接收到的数据多了些0值(我并没有发送0值到开发板)。开发板串口的接收数量也随之变多了(大于实际向开发板发送的数量)。
下面是我做的一些尝试:
当出现0值,我打断点查看了TPCC 与TPTC 的寄存器状态,没有发现异常(也许没观察全)。
还有一个现象:我做了一个操作:关闭了EDMA_OPT_TCINTEN_MASK,然后打开EDMA_OPT_ITCINTEN_MASK。在中断函数中记录获取到的中断数量。发现出现0值时 中断的计数正好等于串口助手向开发板发送的数据量,而此时 breloadcnt – bcnt 是大于该值的。
问题描述:
我目前不知道该如何规避这些多出来的0值。
想请教一下,我的思路是否正确,正确的话我该添加怎样的操作来规避0值。
如果不正确想要实现 串口 edma查询方式获取数据的话,应该怎样设计程序。 
Cherry Zhou:

您好,我们已收到您的问题并升级到英文论坛寻求帮助,如有答复将尽快回复您。谢谢!

,

? ??:

问题已解决:

实现方式 EDMA+ping-pong 

赞(0)
未经允许不得转载:TI中文支持网 » MCU-PLUS-SDK-AM263X: AM263X CC开发板 串口+edma 查询方式接收出现问题
分享到: 更多 (0)