阅读:803回复:0
那位好心的大虾帮帮忙,郁闷完了我!
我有这样一个想法,想从外部RAM中取数,现在我用EZ-USB(AN2131Q)带的例子,实现了64个字节的数据的操作,但当数据大于64字节时固件要怎么做呢?
可以用两种方法实现对64个字节的操作: 方法一:TD_pool() { BYTE length; BYTE DATA[x]; BYTE i; .... //数据采集,并将采集到的数据放入 .... //DATA[X]中,长度为length。。。。。。可当length大于64时要怎么办? if (EPIO[IN7BUF_ID].cntrl & bmEPBUSY) { TOGCTL = 0x08 | IN7BUF_ID; WRITEDELAY(); if (TOGCTL & 0x80) TOGCTL |= 0x20; else TOGCTL |= 0x40; } for(i=0;i<length;i++) { IN7BUF=DATA; } IN7BC = i; } 方法二: void ISR_Ep2in(void) interrupt 0 { for(i=0;i<64;i++) in2buf = *(ram地址+i); IN2BCH = 0; IN2BCL = 64; //arm数据。。。。。。。。数据大于64个字节又要怎么写固件呢? } 各位大虾仁帮帮忙,我知道我的问题可能对于你们来说不算什么,可是我真的很菜! 如果可能的话,能不能把两把方法都说明一下!感激不尽!!!!! :mad: :mad: :mad: :mad: :mad: :( :( :( :( :( :( :( :( :( :( ------------------------------------------------- 为什么我还是一只菜鸟,想要飞却怎么样也飞不高! ------------------------------------------------- |
|