diff --git a/HARDWARE/QUEUE/queue.c b/HARDWARE/QUEUE/queue.c index bf3d8bc..210a979 100644 --- a/HARDWARE/QUEUE/queue.c +++ b/HARDWARE/QUEUE/queue.c @@ -61,8 +61,8 @@ void queue_arr_memcpy(Queue * pQueue, u8 * buf , u8 len){ memcpy((u8 *)&(pQueue->arr[pQueue->tail]),buf,len); }else{ - memcpy((u8 *)&(pQueue->arr[pQueue->tail]),buf,QUEUE_SIZE - pQueue->tail); - memcpy((u8 *)&(pQueue->arr[0]),buf+QUEUE_SIZE - pQueue->tail,len - QUEUE_SIZE + pQueue->tail); + memcpy((u8 *)&(pQueue->arr[pQueue->tail]),buf,QUEUE_SIZE - pQueue->tail - 1); + memcpy((u8 *)&(pQueue->arr[0]),buf+QUEUE_SIZE - pQueue->tail - 1,len - QUEUE_SIZE + pQueue->tail + 1); } pQueue->tail = (pQueue->tail + len) % QUEUE_SIZE;