阅读:1197回复:1
难道没人会用9603???
我向TXD0中写入8个数据后设 txc0的TX_EN为1,为什么不能从FIFO中发出?同样也收不到数据RXD0中?
txc0/rxc0中的IGN_IN/IGN_OUT,IGN_SETUP怎麽用? 不会没人知道吧????? 如果你知道一定要答复!!! |
|
最新喜欢:![]() |
沙发#
发布于:2001-08-01 10:57
兄弟,你的问题不仅出在你对TXC0,RXC0的操作,可能错在别的地方。注意检查以下几个地方
1。保证你的硬件没有问题。 2。9603的初始化是否完成,具体见national的范例(不知你下载了没有)。 write_usb(MCNTRL,SRST); write_usb(MCNTRL,VREG_ST+INTR_TYPE); /*set default address, enable EP0 only **************************/ write_usb(FAR,AD_EN+0); write_usb(EPC0, 0x00); /*set up interrupt masks ****************************************/ write_usb(NAKMSK,NAK_O0+NAK_I3); /*NAK evnts*/ write_usb(TXMSK,TXFIFO0+TXFIFO1+TXFIFO3); /*TX events*/ write_usb(RXMSK,RXFIFO0+RXFIFO1+RXFIFO3); /*RX events*/ write_usb(ALTMSK,NORMAL_ALTMSK); /*ALT evnts*/ write_usb(MAMSK,(INTR_E+RX_EV+NAK+TX_EV+ALT)); /*enable the receiver and go operational ************************/ FLUSHTX0; /*flush TX0 and disable */ write_usb(RXC0,RX_EN); /*enable the receiver */ write_usb(NFSR,OPR_ST); /*go operational */ write_usb(MCNTRL,VREG_ST+INTR_TYPE+NAT); /*set NODE ATTACH */ 可以根据你的要求略做改动。write_usb(RXC0,RX_EN); 可放在 write_usb(NFSR,OPR_ST);之后。 3。你想发送的数据,只有在主机发出IN tocken后才能被主机响应,不是你想发就发,设备是被动的。 4。Toggle位是否正确,对于Pipe 0,第一次的传输需置为1,下一次为0,依次类推。其他pipe第一次为0,下次为1 5。IGN_IN/IGN_OUT,IGN_SETUP不要动,设为默认值0,否则会对相应事件不响应。 6。我想你应按照范例写好你的配置过程程序。 7。如果你没有很好研究usb标准和9603手册,出现上述问题不足为奇。(大家都看出来你没有认真研究过,所以没人回答你的简单问题,嘻嘻) 8。今天我有时间,可多联系。 |
|