导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→RTL8019AS一直发送不成功,但发送时LED0也闪烁,我

* 72924: RTL8019AS一直发送不成功,但发送时LED0也闪烁,我用的是下面的程序,有什么问题啊?

   guest 
guest发表的帖子 

 RTL8019AS一直发送不成功,但发送时LED0也闪烁,我用的是下面的程序,有什么问题啊?
void send_frame(UCHAR xdata * outbuf, UINT len)/*发送一个数据包的命令,长度最小为
60字节,最大1514字节*/
{
UCHAR i;
UINT ii;
    page(0);
    if(len  <60)len=60;
    txd_buffer_select=!txd_buffer_select;
      if    (txd_buffer_select)
        reg09=0x40 ;    //txdwrite highaddress
    else
        reg09=0x46 ;    //txdwrite highaddress
    reg08=0x00;         //read page address low
    reg0b=len>  >  8;        //read count high
    reg0a=len&0xff;        //read count low;
    reg00=0x12;            //write dma, page0
    for    (ii=0;ii  <len;ii++)    
    {
       reg10=*(outbuf+ii);  
    }

    /* 以下3句为中止dma的操作,可以不要            */
    reg0b=0x00;        //read count high   中止DMA操作
    reg0a=0x00;        //read count low;
    reg00=0x22;        //complete dma page 0

    for(i=0;i  <16;i++)    //最多重发16次
    {
        for(ii=0;ii  <1000;ii++)    //检查txp为是否为低
        {
            if ((reg00&0x04)==0) break;
        }
        if ((reg04&0x01)!=0) break;    //表示发送成功
        reg00=0x3e;
    }
    reg07=0xff;
    if(txd_buffer_select)
        reg04=0x40;    //txd packet start; 
    else
        reg04=0x46;    //txd packet start; 
    reg06=len>  >  8;    //high byte counter
    reg05=len&0xff;    //low byte counter
    reg07=0xff;
    reg00=0x3e;        //to sendpacket;  
    free(outbuf);
}


发表时间:2005年2月11日14:44:53

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  72926.[详细]搞定了
摘要:......(无内容)
- [guest][828次] 2005年2月11日

  73075.[详细]什么原因呀,能不能说一下?
摘要:[em11],原来错误是什么原因呀?能不能说一下? 我正在做这方面,能不能给我一份你的程序呀,非常感谢! xiaosheng1981@163.com......(121字)
- [sltian][848次] 2005年2月17日

[上一篇帖子]:搞定了
[下一篇帖子]:看看先^_^