阅读:1436回复:2
请帮忙看看USBN9603的寄存器读写有什么问题?
模式是 Non-Multiplexed parallel Mode
void main(void) { uchar OUT; init_serial(); USB_WR=1; USB_RD=1; USB_CS=0; //select usb device DACK=1; //disable DMA mode MODE1=MODE0=0; // // init_usb(); write_usb(MCNTRL,0x05); OUT=read_usb(MCNTRL); write_usb(CCONF,0x03); USB_CS=0; while(1) { printf(\"%d\",OUT); printf(\"\\n\"); // printf(\"dakldfja\\n\"); } } void write_usb(uchar ADR,uchar DTA) { USB_CS=0; A0=1; USB_WR=0; P0=ADR; USB_WR=1; NOP; NOP; NOP; // USB_CS=1; // USB_CS=0; USB_WR=0; A0=0; P0=DTA; USB_WR=1; NOP; NOP; NOP; USB_CS=1; } uchar read_usb(uchar ADR) { uchar i; USB_CS=0; A0=1; USB_WR=0; P0=ADR; USB_WR=1; NOP; NOP; NOP; // USB_CS=1; P0=0xff; // USB_CS=0; USB_RD=0; A0=0; i=P0; USB_RD=1; NOP; NOP; NOP; USB_CS=1; return(i); } |
|
|
沙发#
发布于:2002-06-27 18:34
我也在用,交流一下.
我也是用非复用模式:(52 汇编控制) USBWRCMD: SETB USBA0 CLR USBWR ; MOV P0,A NOP CLR USBCS NOP SETB USBCS CLR USBA0 ; SETB USBWR RET USBWRDAT: CLR USBA0 CLR USBWR ; MOV P0,A CLR USBCS NOP SETB USBCS SETB USBWR RET USBRDDAT: MOV P0,#0FFH NOP CLR USBA0 CLR USBRD ; CLR USBCS NOP MOV A,P0 SETB USBCS SETB USBRD RET 能告诉电话吗? E_MAIL: raymondarc@21cn.com 0755-3207351 朱 |
|
板凳#
发布于:2002-06-28 08:58
hi ,你好!
谢谢你的贴。我后来试过了,不知为什么对MCNTRL无效,你试过对MCNTRL操作会有什么结果?对CCONF和RID有效,我就试了这么多。我也用52,刚开始做,很多都不懂。希望多交流,我在上海,长途就别打了,省点,hehe。email联系吧,我的email:xieqi1@163.net |
|
|