打印

在vendercmnd中增加了向pc机发数

[复制链接]
851|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanglli|  楼主 | 2015-4-2 21:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自己弄了块68013a的板子 问题如下
我用到了68013的串口并在vendercmnd中增加了向pc机发数 程序如下
BOOL DR_VendorCmnd(void)
{
  BYTE tmp;
  switch (SETUPDAT[1])
  {
     case VR_NAKALL_ON:       //0xD0
  Serial_SendChar( 0xD0 , 0 ) ;    //向串口1中发送0xD1
        tmp = FIFORESET;      //FIFORESET寄存器最高位置1
        tmp |= bmNAKALL;           
        SYNCDELAY;                    
     FIFORESET = tmp;
        break;
     case VR_NAKALL_OFF:      //0xD1
  Serial_SendChar( 0xD1 , 0 ) ;    //向串口0中发送0xD1
        tmp = FIFORESET;      //FIFORESET寄存器最高位置0
        tmp &= ~bmNAKALL;      
        SYNCDELAY;                    
        FIFORESET = tmp;
        break;
  case 0xD2:       //0xD2
  FIFORESET = 0x00 ;
  Serial_SendChar( 0xD2 , 0 ) ;
  Serial_SendChar( 0xD2 , 0 ) ;
  Serial_SendChar( 0xD2 , 0 ) ;
  break ;
     default:
  Serial_SendChar( 0x99 , 0 ) ;
        return(TRUE);
  }
  return(FALSE);
}
在void SetupCommand(void)中改了最后几句如下
default:                     // *** Invalid Command
         if(DR_VendorCmnd())
            temp = 1 ;
   //EZUSB_STALL_EP0();            // Stall End Point 0
   }
   // Acknowledge handshake phase of device request
   EP0CS |= bmHSNAK;
}
沙发
zhanglli|  楼主 | 2015-4-2 21:34 | 只看该作者
问题是我第一次发程序响应了如图


使用特权

评论回复
板凳
zhanglli|  楼主 | 2015-4-2 21:34 | 只看该作者
可第二次再发vender cmnd就出现问题了如图

使用特权

评论回复
地板
zhanglli|  楼主 | 2015-4-2 21:35 | 只看该作者
如果不在vender cmnd中增加串口发送程序没有问题 但找不出原因 为什么呢?

使用特权

评论回复
5
lium| | 2015-4-2 21:35 | 只看该作者
SetupCommand是无需修改的

使用特权

评论回复
6
guoyt| | 2015-4-2 21:35 | 只看该作者
串口单独发送有没有问题

使用特权

评论回复
7
hanwe| | 2015-4-2 21:35 | 只看该作者
串口太慢了,别跟USB命令绕在一起。可以用USB口读回调试数据,没必要用UART输出调试。

使用特权

评论回复
8
zhanglli|  楼主 | 2015-4-2 21:36 | 只看该作者
嗯,我排查下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1016

主题

9386

帖子

1

粉丝