记录下今天调试USB读取FIFO函数遇到的问题

一、问题描述

1.
<pre name="code" class="cpp">for(i=0;i<nLen;i++) print("%x ",(UINT8)USBREGS.fifoep0));
 
先打印出来fifoep0的数据是 80 0 80 0 dd 0 50 81 
<pre name="code" class="cpp">for(i=0;i<nLen;i++) pbuf[i] = (UINT8)USBREGS.fifoep0;
 
接着打印pbuf数据是 0 2 12 20 11 20 0 0 ;同样的代码 我不打印fifo值直接打印pbuf则pbuf数值是 80 0 80 0 dd 0 50 81
2.
for(i=0;i<nLen;i++) print("%x ",(UINT8)*((VUINT8*)&USBREGS.fifoep0)));
先打印出来fifoep0的数据是 80 6 0 1 0 0 40 0
for(i=0;i<nLen;i++) pbuf[i] = (UINT8)*((VUINT8*)&USBREGS.fifoep0);
接着打印pbuf数据是80 6 0 1 0 0 40 0 ;同样的代码 我不打印fifo值直接打印pbuf则pbuf数值是 80 6 0 1 0 0 40 0
3.
for(i=0;i<nLen;i++) print("%x ",(UINT8)USBREGS.fifoep0));
先打印出来fifoep0的数据是 80 0 80 0 dd 0 50 81 
for(i=0;i<nLen;i++) print("%x ",(UINT8)*((VUINT8*)&USBREGS.fifoep0)));
接着打印pbuf数据是0 7 5 1 2 40 00;同样的代码 我不打印fifo值直接打印pbuf则pbuf数值是 80 6 0 1 0 0 40 0

二、自己猜想

这个可能与数据结构有关,由于后面加了挺复杂的数据格式转化,以及不清楚fifo内部的结构,只知道他是一个结构体的成员 UINT32 fifoep0。希望后面深入学习可以解释这个问题。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值