阅读:1034回复:3
麻烦大家看看我的程序写得对不对
我用an2131固件框架,实现通过端口a读写数据的功能,就是将端点2的outbuffer的内容输出到porta和将porta的数据读到端点2的inbuffer,由于是刚开始接触,不知道写的对不对,尤其是那个OEA我总觉得好像不对,大家帮我看看,先谢了
void TD_Init(void) { PORTACFG = 0x00; IN07VAL |= bmEP2; OUT07VAL |= bmEP2; BPADDR = (WORD)TD_Poll; Rwuen = TRUE; } void TD_Poll(void) { BYTE i = 0x00; if( !( EPIO[OUT2BUF_ID ].cntrl & bmEPBUSY ) ) { OEA = 0xFF; for( i = 0x00; i < EPIO[ OUT2BUF_ID ].bytes; ++i ) { OUTA = OUT2BUF[ i ]; } EPIO[ OUT2BUF_ID ].bytes = 0x00; } if( !( EPIO[IN2BUF_ID ].cntrl & bmEPBUSY ) ) { OEA = Ox00; for( i = 0x00; i < EPIO[ IN2BUF_ID ].bytes; ++i ) { IN2BUF[ i ] = PINSA; } } } |
|
沙发#
发布于:2004-12-01 10:31
没有人理我吗??????虽然问题很简单,大家也帮我看看呀
|
|
板凳#
发布于:2004-12-01 13:45
调一调,跟踪一下嘛
|
|
|
地板#
发布于:2004-12-01 14:01
我调了,可是两个if语句好像有冲突,也就是说把写的那段删掉,就可以读了,但是如果写的那段在就不能读,而且写的那段里面如果我想改变OUT2BUF的值改变不了,总是O5 O5.....
|
|