tyant
禁止发言
禁止发言
  • 注册日期2004-03-17
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分74652分
  • 威望373563点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
20楼#
发布于:2004-04-14 13:12
用户被禁言,该主题自动屏蔽!
hejoin
驱动小牛
驱动小牛
  • 注册日期2001-10-19
  • 最后登录2012-03-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
21楼#
发布于:2004-04-14 13:27
[quote]难道,d12的数据手册有问题?不是说内部有菲同步复位逻辑么?
这么说我上飞利浦的当了?


我也是这么才通的。 [/quote]

晕死,真的还是假的啊?我板子做好了呀,割不断呀,受不了了。。。。。狂晕1小时。。。。
为什么我现在收到的都是0xc0,0x80,0x40这样的数据呢?
是不是表明芯片没有进入\"状态\"????
恒坚电器([url]http://www.hejoin.com[/url])
tyant
禁止发言
禁止发言
  • 注册日期2004-03-17
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分74652分
  • 威望373563点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
22楼#
发布于:2004-04-14 13:32
用户被禁言,该主题自动屏蔽!
hejoin
驱动小牛
驱动小牛
  • 注册日期2001-10-19
  • 最后登录2012-03-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
23楼#
发布于:2004-04-14 14:00
不是这些东西,正常的话能和数据手册的对上.


辛苦把线跳出来了,但是,还不行呀,现象一样的,无法收到任何有效信息,依然收到如下数据

int-n is coming data1 = 00c0   <=====
this commandid = 0x40
this commandid = 0x80

 into SETUP_read ...
 00_00_00_00_00_00_00_00_
 int-n is coming data1 = 00c0<=====
this commandid = 0x40
this commandid = 0x80

 into SETUP_read ...
 00_00_00_00_00_00_00_00_
 int-n is coming data1 = 0040<=====
this commandid = 0x40
int-n is coming data1 = 0040<=====
this commandid = 0x40
int-n is coming data1 = 0080<=====
this commandid = 0x80

 into SETUP_read ...
 00_00_00_00_00_00_00_00_

goodlink指示灯没有任何反应啊,真是奇怪
恒坚电器([url]http://www.hejoin.com[/url])
tyant
禁止发言
禁止发言
  • 注册日期2004-03-17
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分74652分
  • 威望373563点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
24楼#
发布于:2004-04-14 14:49
用户被禁言,该主题自动屏蔽!
hejoin
驱动小牛
驱动小牛
  • 注册日期2001-10-19
  • 最后登录2012-03-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
25楼#
发布于:2004-04-14 14:50
你说你能改变CLKOUT?

 

是的,可以读取芯片ID,
恒坚电器([url]http://www.hejoin.com[/url])
tyant
禁止发言
禁止发言
  • 注册日期2004-03-17
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分74652分
  • 威望373563点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
26楼#
发布于:2004-04-14 14:52
用户被禁言,该主题自动屏蔽!
tyant
禁止发言
禁止发言
  • 注册日期2004-03-17
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分74652分
  • 威望373563点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
27楼#
发布于:2004-04-14 14:54
用户被禁言,该主题自动屏蔽!
hejoin
驱动小牛
驱动小牛
  • 注册日期2001-10-19
  • 最后登录2012-03-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
28楼#
发布于:2004-04-14 14:55

void main()
{
    int p;
    setupcomm();
    outs(\"start...\\r\\n\");
    P1=0xfe;
    P3_6 = 1;
    P3_7 = 1;
    D12_suspend = 0;
    XmtBuff.out = 0x00;
    XmtBuff.in = 0x01;
    P1_4 = 0;  //关闭蜂鸣器
      
    XmtBuff.out = 0x00;
    XmtBuff.in = 0x01;
   D12_cs_n = 1;
   D12_cs_n = 0;  
 //   set_command( 0xf3);set_data( 0x06);set_data( 0x03);//初始化频率 12MHz
 
    set_command( 0xf3);set_data( 0x06);set_data( 0x03);//初始化频率 12MHz    
    set_command(0xfd);//调用Read Chip ID(命令FDH)检查PDIUSBD12是否工作。该命令要读两个字节数 据
    if(get_data()==0x12)
    {
       if(get_data()==0x10)  {P1_4 = 0; outs(\" \\r\\nthe chip is connected \\r\\n\");}// 到这里来了,标明是对的
    }
    for(p=0;p<10;p++)
    {
     delay(200);
       P1_4 = ~P1_4;  
    }    
    set_command( 0xd0);set_data( 0x80);//设置地址 0 使能
    set_command( 0xd8);set_data( 0x01);//设置地址 pipe0 使能  
    
    set_command( 0xf3);set_data( 0x16);set_data( 0x03);//初始化频率 12MHz
  
//  set_command( 0xf3);set_data( 0x16);
// set_command( 0xf3);set_data( 0x1e);

    
//    D12_cs_n = 0;
        


    while(1)
    {  
        D12_cs_n = 0;
        if(!D12_int_n)
        {
            outs(\"int-n is coming data1 = \");

            D12_cs_n = 0;
            set_command(0xf4);// 读中断寄存器
            XmtBuff.b[0] = get_data();
            XmtBuff.b[1] = get_data();
                        
            printf(XmtBuff.b[1]); printf(XmtBuff.b[0]);outs(\"\\r\\n\");        
            
           if(XmtBuff.b[0] & 0x40)
           {
              outs(\"this commandid = 0x40 \\r\\n\");
 set_command(0x40);//读 ep0 OUT 最后状态
              get_data();
 set_command( 0x00);// 选择端点0(指针指向0位置)
              get_data();    
              set_command (0xf1);// 应答SETUP包,使能(清 OUT 缓冲区、使能 IN 缓冲区)命令
              set_command (0xf2);// 清 OUT 缓冲区
              
           }   //证明这里收到了一个0x40的协议包
                    
            if(XmtBuff.b[0] & 0x80)
            {
              if(D12_suspend == 1)
              {    outs(\"this commandid = D12_suspend \\r\\n\");
                  set_command(0);//处理挂起事务
                  set_command(0xf6);//发送恢复命令
                  D12_suspend = 1;
                
              }
              outs(\"this commandid = 0x80 \\r\\n\");
 set_command(0x40);//读 ep0 OUT 最后状态
              get_data();
 SETUP_read();
 if (XmtBuff.b[0] == 0x80)
GetStatus();
            }
            else
            {
              if(XmtBuff.b[0] & 0x15)// 收到 OUT 包
              {
                  
                  if(ii[0]==12)
                  ii[0]=ii[0];
                  
                  
                  
                  if(XmtBuff.b[0] & 0x01)
                  {
                      set_command(0x40);//读 OUT 最后状态
                      if(get_data() & 0x20)// 收到 SETUP 包
                      {   P1_4 = 0;
                          SETUP_read();
                          HandleSetup();
                      }
                  }else if(XmtBuff.b[0] & 0x04)
                  {
                      set_command( 0x42);//读 OUT 最后状态
                  }else if(XmtBuff.b[0] & 0x10)
                  {
                      set_command( 0x44);//读 OUT 最后状态
                  }
              } else if(XmtBuff.b[0] & 0x2a)// 收到 IN 包
              {P1_4 = 1;
                  if(ii[1]==18)
                  ii[0]=ii[0];
                  if(XmtBuff.b[0] & 0x02)XmtBuff.in = 1;
                  else if(XmtBuff.b[0] & 0x08)XmtBuff.in = 3;
                  else if(XmtBuff.b[0] & 0x20)XmtBuff.in = 5;
                      set_command( (XmtBuff.in | 0x40));// 读 IN 最后状态
                  XmtBuff.b[1] = get_data();
                  //if(D12_DATA & 0x01)
                  {
                      ii[1]++;
                      //if(ii[1]==4)
                      //ii[0]=ii[0];
                      USB_submit();
                  }
              }
            }
        }
    }
}
====为了看清楚,把一些其他的都忽略了。看上面,光这些代码是否有可以完成对D12的连接和枚举?

[编辑 -  4/14/04 by  hejoin]
恒坚电器([url]http://www.hejoin.com[/url])
tyant
禁止发言
禁止发言
  • 注册日期2004-03-17
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分74652分
  • 威望373563点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
29楼#
发布于:2004-04-14 14:56
用户被禁言,该主题自动屏蔽!
hejoin
驱动小牛
驱动小牛
  • 注册日期2001-10-19
  • 最后登录2012-03-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
30楼#
发布于:2004-04-14 14:57
拿什么读ID?
 

用命令读啊

下面是我用串口得到的结果

start...
 
the chip is connected
int-n is coming data1 = 0080
this commandid = 0x80

 into SETUP_read ...
 00_00_00_00_00_00_00_00_
 int-n is coming data1 = 00c0
this commandid = 0x40
this commandid = 0x80

 into SETUP_read ...
 00_00_00_00_00_00_00_00_
 int-n is coming data1 = 0040
this commandid = 0x40
int-n is coming data1 = 0040
this commandid = 0x40
int-n is coming data1 = 0080
this commandid = 0x80

 into SETUP_read ...
 00_00_00_00_00_00_00_00_
 
恒坚电器([url]http://www.hejoin.com[/url])
tyant
禁止发言
禁止发言
  • 注册日期2004-03-17
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分74652分
  • 威望373563点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
31楼#
发布于:2004-04-14 14:58
用户被禁言,该主题自动屏蔽!
tyant
禁止发言
禁止发言
  • 注册日期2004-03-17
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分74652分
  • 威望373563点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
32楼#
发布于:2004-04-14 15:00
用户被禁言,该主题自动屏蔽!
hejoin
驱动小牛
驱动小牛
  • 注册日期2001-10-19
  • 最后登录2012-03-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
33楼#
发布于:2004-04-14 15:01
哪个是读ID的?
 


set_command(0xfd);//调用Read Chip ID(命令FDH)检查PDIUSBD12是否工作。该命令要读两个字节数据
if(get_data()==0x12)
{
if(get_data()==0x10) {P1_4 = 0; outs(\" \\r\\nthe chip is connected \\r\\n\");}// 到这里来了,表明硬件是对的
}
恒坚电器([url]http://www.hejoin.com[/url])
tyant
禁止发言
禁止发言
  • 注册日期2004-03-17
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分74652分
  • 威望373563点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
34楼#
发布于:2004-04-14 15:06
用户被禁言,该主题自动屏蔽!
tyant
禁止发言
禁止发言
  • 注册日期2004-03-17
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分74652分
  • 威望373563点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
35楼#
发布于:2004-04-14 15:09
用户被禁言,该主题自动屏蔽!
tyant
禁止发言
禁止发言
  • 注册日期2004-03-17
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分74652分
  • 威望373563点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
36楼#
发布于:2004-04-14 15:11
用户被禁言,该主题自动屏蔽!
hejoin
驱动小牛
驱动小牛
  • 注册日期2001-10-19
  • 最后登录2012-03-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
37楼#
发布于:2004-04-14 15:17
你最好看看PHILIPPS提供的例程和编程指南

代码写的太乱了


老兄能否提供一个参考?现在问题是,我的代码还没到枚举这一步好象,是不是?
恒坚电器([url]http://www.hejoin.com[/url])
tyant
禁止发言
禁止发言
  • 注册日期2004-03-17
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分74652分
  • 威望373563点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
38楼#
发布于:2004-04-14 15:32
用户被禁言,该主题自动屏蔽!
longyinjiuxiao
驱动小牛
驱动小牛
  • 注册日期2004-03-15
  • 最后登录2004-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
39楼#
发布于:2004-04-14 15:47
楼上的朋友,请教我怎么用bushound,好吗?
游客

返回顶部