大家好,小弟现在在用UF32做USB和程序.现有一个问题
UF32的SETUP包数据缓冲区与本地缓冲区0,1在头文件中都没有定义,我按照它们的地址进行读取,我现在的方法是这样的:
比如我要读寄存器地址从0X0338开始的SETUP的数据接收缓冲区内容
方法1
uchar **USTB; //定义一个指针变量
uchar Setup_data[8];//定义一个存放SETUP包数据的数组,共8字节
*USTB=(uchar *)0X0038//把0x0038赋给USTB指针变量,0X0038是由0X0338-0X0300所得,因为指针变量是字符型,所以只能这样写。
uchar i;
for(i=0;i<8;i++)
{Setup_data=*(*USTB+0x0300);(*USTB)++;}//把SETUP数据接收缓冲区的内容读到Setup_data数组内
方法2:
uchar Setup_data[8] @0x0338;//数组首地址定位在0X0338
//在发现有数据接收到时,直接读Setup_data中的内容。
因其RAM区是从0x1200 TO 0x1FFF;我不知这样能不能读到我要的数据。
由于USB程序才开始做,不知方法2对不对,我认为方法1是可行。请版主及各位大侠指教一下,谢谢。
|