阅读:1092回复:0
d12固件
d12的A0接地。
#define D12_COMMAND 0xFF01 #define D12_DATA 0xFF00 void outportcmd(unsigned char value) { *((unsigned char xdata *)D12_COMMAND)=value; } void outportdata(unsigned char value) { *((unsigned char xdata *)D12_DATA)=value; } unsigned char inportb(void) { return *((unsigned xdata *)D12_DATA); } 上面的读写d12函数的函数有问题吗? 不知道为什么连接usb后。老是中断。和d12的初始化有什么关系。 void connect_USB(void) { DISABLE; bEPPflags.value = 0; ENABLE; D12_SetDMA(D12_ENDP4INTENABLE | D12_ENDP5INTENABLE); D12_SetMode(D12_NOLAZYCLOCK | D12_SOFTCONNECT,D12_SETTOONE | D12_CLOCK_12M ); } void Wait3msec() { for(i=0;i<100;i++) { ii[0]=0; do{ii[0]++;} while(ii[0]<20); } } void disconnect_USB(void) { // Initialize D12 configuration D12_SetMode(D12_NOLAZYCLOCK, D12_SETTOONE | D12_CLOCK_12M); } void reconnect_USB(void) { unsigned long clk_cnt; LED0 = 0; LED1 = 0; D12SUSPD = 0; disconnect_USB(); // clk_cnt=ClockTicks; // while(ClockTicks<clk_cnt+10) // ; for(clk_cnt=0;clk_cnt<50;clk_cnt++) { Wait3msec(); } connect_USB(); LED0 = 1; LED1 = 1; } 谢谢大家指点!! |
|
|