liyuzhu
驱动牛犊
驱动牛犊
  • 注册日期2003-01-16
  • 最后登录2008-12-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1093回复:0

d12固件

楼主#
更多 发布于:2003-03-25 21:38
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;
}

谢谢大家指点!!






lyz
游客

返回顶部