[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=158828&ptid=16989][color=#999999]ercircle 发表于 2025-4-14 15:26[/color][/url][/size]
index1如果是记录上一个值,是不是应该先打印再赋值[/quote]

UartRxflAG=0;
index2=DMA_UART2_ReadRxDone();//记录当前的读取字节数量
printf("index2 = %d\n",index2);
//下面两条代码必须注释掉一个,我的目的是使用index2-index1记录两
//次数据接收之间DMA_UR2R_DONE这个寄存器
//的差值,用来输出。
// strncpy(pu8UR2DMATxBuffer,pu8UR2DMARxBuffer,index2-index1);//这里有问题,index2-index1=0;
strncpy(pu8UR2DMATxBuffer,pu8UR2DMARxBuffer,Rx_Count); // 这个可以跑通,但是数据会一直追加
printf("index1 = %d\n",index1);//记录上一次的读取值
index1=index2;