导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[ukbat]各位高手帮忙看看8019发送数据问题



No.79988
作者:ukbat
邮件:ukbat@sina.com
ID:14331
登陆:8次
文章数:3篇
最后登陆IP:211.137.102.94
最后登陆:2006/3/14 12:39:54
注册:2003/8/13 9:59:33
财富:70
发帖时间:2005/6/17 9:40:49
发贴者IP:211.137.100.94
标题:ukbat:各位高手帮忙看看8019发送数据问题
摘要:No.79988各位高手帮忙看看8019发送数据问题 我用老古那个一体化电路做的,用的 winbond的单片机,用 单片机初始化8019都正常,写8019的ram也正常,但是单片机发发送命令0x1E给8019时,8019没有数据发送出去,并且去读CR的值是0x21,这是怎么一回事啊,各位高手帮帮忙看看。下面是用C51写的部分程序。

#define reg00  XBYTE[0xc000] //对应于地址240H 为命令寄存器CR地址  
#define reg01  XBYTE[0xc100]    //241H.
#define reg02  XBYTE[0xc200]   
#define reg03  XBYTE[0xc300]   
#define reg04  XBYTE[0xc400]   
#define reg05  XBYTE[0xc500]   
#define reg06  XBYTE[0xc600]  
#define reg07  XBYTE[0xc700]   
#define reg08  XBYTE[0xc800]   
#define reg09  XBYTE[0xc900]   
#define reg0a  XBYTE[0xca00]   
#define reg0b  XBYTE[0xcb00]   
#define reg0c  XBYTE[0xcc00]   
#define reg0d  XBYTE[0xcd00]  
#define reg0e  XBYTE[0xce00]  
#define reg0f  XBYTE[0xcf00]  
#define reg10  XBYTE[0xd000]
#define reg11  XBYTE[0xd100]   
#define reg12  XBYTE[0xd200]   
#define reg13  XBYTE[0xd300]  
#define reg14  XBYTE[0xd400]   
#define reg15  XBYTE[0xd500]   
#define reg16  XBYTE[0xd600]   
#define reg17  XBYTE[0xd700]  
#define reg18  XBYTE[0xd800]   
#define reg19  XBYTE[0xd900]  
#define reg1a  XBYTE[0xda00]  
#define reg1b  XBYTE[0xdb00]   
#define reg1c  XBYTE[0xdc00]  
#define reg1d  XBYTE[0xdd00]   
#define reg1e  XBYTE[0xde00]        
#define reg1f  XBYTE[0xdf00]    //25FH.
#define  uint  unsigned int
#define  uchar unsigned char
#define recount   256 
#define wrcount   256
#define INBUF_LEN 1    //数据长度
void netcardreset(void); //网卡芯片复位函数
void delaymsecond(void); //延迟函数
void page(uchar pagenumber); //
void ne2000init(void);  //网卡芯片初始化函数
//void readmynodeid(void); //读取网卡物理地址函数
void writemynodeid(void); //设置网卡物理地址函数
void write_dma(unsigned int count);  //写网卡芯片Ram函数
void read_dma(unsigned int readdress,unsigned int count);  //读网卡芯片Ram函数
//void init_serialcomm(void);
//void serial (); 
uint flag=1;

void main()
{   unsigned int i;

 readdress=0x4c00;
    wraddress=0x4000;

 //P2=0x00;
    //delaymsecond();
    netcardreset();   
    ne2000init();     
    writemynodeid();
  /* for(;;)
    {

    reg00=0x1e;
 P1=0xff^reg00;
    }*/
   // init_serialcomm();  //初始化串口 
    /*for(i=0;i  <6;i++)
    { if(i%2==0)
      {
        bufferwrite[14+i]=mynodeid[i/2].bytes.high;
      }
      else
        bufferwrite[14+i]=mynodeid[i/2].bytes.low;
    } */
    //bufferwrite[20]=0x08;//
    //bufferwrite[21]=0x00;// 
    //writemynodeid();   
 while(1)
 { if(flag==1)   //如果上位机发送数据给单片机
   {
    flag=0;
 
 write_dma(wrcount); //写网卡的ram:开始地址wraddress,一 次写wrcount字节
   }
   // read_dma(readdress,recount);   //读网卡ram:开始地址readdress,一次读recount字节
   } 
}  

void netcardreset(void)
{
 uint data i;
 uchar data temp;
reset=1;
P1=0x00;  //使网卡的RSTDRV引脚变成高电平,网卡是高电平复位的。
//for(i=0;i  <250;i++);  //延时程序
reset=0;  //使网卡的RSTDRV引脚变成低电平,网卡上电复位完毕
P1=0xff;
//for(i=0;i  <25 ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:31毫秒 最大:54049毫秒 查询6次