⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8019.lst.svn-base

📁 数字广播系统的开发源码
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
 163          void RTL8019Init(unsigned char xdata *MACAddr) reentrant
 164          {
*** WARNING C259 IN LINE 164 OF E:\NETBRO~1\TRUNK\NETBRO~1\VW\8019.C: pointer: different mspace
 165   1              unsigned char xdata chRTLInitTmp = 0;
 166   1              unsigned int i;
 167   1      
 168   1              /* after hardware reset a longdelay is necessary for rtl to self-initial */
 169   1              //在RSTDRV从高电平回到低电平之后的100MS时,在对RTL8019做读写操作,以确保完全复位
 170   1              P35 = 1;
 171   1              for(i = 0;i < 40000;i++);
 172   1              P35 = 0;
C51 COMPILER V8.05a   8019                                                                 07/18/2007 15:08:04 PAGE 4   

 173   1              for(i = 0;i < 40000;i++);
 174   1      
 175   1              /* reset: write to reset prot */
 176   1              /*
 177   1              chRTLInitTmp = ReadReg(0x18);
 178   1              delay(100);
 179   1              WriteReg(0x18,0x00);
 180   1              delay(100);
 181   1              chRTLInitTmp = ReadReg(0x18);
 182   1              delay(100);
 183   1      
 184   1              chRTLInitTmp = ReadReg(0x1a);
 185   1              delay(100);
 186   1              WriteReg(0x1a,0x00);
 187   1              delay(100);
 188   1              chRTLInitTmp = ReadReg(0x1a);
 189   1              delay(100); */
 190   1      
 191   1              chRTLInitTmp = ReadReg(0x1c);
 192   1              WriteReg(0x1c,0x00);
 193   1              chRTLInitTmp = ReadReg(0x1c);
 194   1              delay(100);
 195   1      
 196   1              chRTLInitTmp = ReadReg(0x1f);
 197   1              WriteReg(0x1f,0x00);
 198   1              chRTLInitTmp = ReadReg(0x1f);
 199   1              delay(100);
 200   1      
 201   1              chRTLInitTmp = ReadReg(0x07);
 202   1              if((ReadReg(0x07) & 0x80) == 0)
 203   1              {
 204   2               chRTLInitTmp = 0xaa;
 205   2              }
 206   1              else
 207   1              {
 208   2               chRTLInitTmp = 0xbb;
 209   2              }
 210   1      
 211   1              //To debug
 212   1      
 213   1              /* init RTL registers*/
 214   1              WriteReg(0x00,0x21);
 215   1              chRTLInitTmp = ReadReg(0x00);
 216   1              //for(i = 0;i < 20000;i++);
 217   1              chRTLInitTmp = ReadReg(0x07);
 218   1      
 219   1              RTLPage(0);
 220   1              chRTLInitTmp = ReadReg(0x00);
 221   1              //for(i = 0;i < 20000;i++);
 222   1              WriteReg(0x0a,0x00);    //清RBCR0
 223   1              WriteReg(0x0b,0x00);    //清RBCR1
 224   1              WriteReg(0x0c,0xe0);    //RCR,监视模式,不接收数据报
 225   1              WriteReg(0x0d,0xe2);    //TCR,loopback模式
 226   1      
 227   1              WriteReg(0x01,0x4c);    /* Pstart       */
 228   1              WriteReg(0x02,0x80);    /* Pstop        */
 229   1              WriteReg(0x03,0x4c);    /* BNRY         */
 230   1              WriteReg(0x04,0x40);    /* TPSR         */
 231   1      
 232   1              WriteReg(0x07,0xFF);    /* ISR: Interrupt Status Register,write FF to clear up all interrupt status *
             -/
 233   1              WriteReg(0x0f,0x00);    /* IMR: Interrupt Mask Register,屏蔽掉所有中断 */
C51 COMPILER V8.05a   8019                                                                 07/18/2007 15:08:04 PAGE 5   

 234   1              //WriteReg(0x0e,0xC8);  /* DCR: Data Configuration Register*/
 235   1      
 236   1              //WriteReg(0x0c,0xCE);  /* RCR:  */
 237   1              //WriteReg(0x0d,0xE0);  /* TCR:  */
 238   1      
 239   1              //To debug
 240   1              chRTLInitTmp = ReadReg(0x07);
 241   1              chRTLInitTmp = ReadReg(0x0f);
 242   1      
 243   1              RTLPage(1);
 244   1              chRTLInitTmp = ReadReg(0x00);
 245   1              WriteReg(0x07,0x4d); //CURR,设置为指向当前正在写的页的下一页
 246   1      
 247   1              /* MAR0 */
 248   1              WriteReg(0x08,0x00);
 249   1              WriteReg(0x09,0x41);
 250   1              WriteReg(0x0a,0x00);
 251   1              WriteReg(0x0b,0x80);
 252   1              WriteReg(0x0c,0x00);
 253   1              WriteReg(0x0d,0x00);
 254   1              WriteReg(0x0e,0x00);
 255   1              WriteReg(0x0f,0x00);
 256   1      
 257   1              /* set phisical address */
 258   1              WriteReg(0x01,0x52);
 259   1              WriteReg(0x02,0x54);
 260   1              WriteReg(0x03,0x4c);
 261   1              WriteReg(0x04,0x19);
 262   1              WriteReg(0x05,0x57);
 263   1              WriteReg(0x06,0x42);
 264   1      
 265   1              //To debug
 266   1              RTLPage(0);
 267   1              chRTLInitTmp = ReadReg(0x00); //CR
 268   1      
 269   1              chRTLInitTmp = ReadReg(0x01); //CLDA0
 270   1              chRTLInitTmp = ReadReg(0x02); //CLDA1
 271   1              chRTLInitTmp = ReadReg(0x03); //BNRY
 272   1              chRTLInitTmp = ReadReg(0x04); //TSR
 273   1              chRTLInitTmp = ReadReg(0x05); //NCR
 274   1              chRTLInitTmp = ReadReg(0x06); //FIFO
 275   1      
 276   1              chRTLInitTmp = ReadReg(0x07); //ISR
 277   1      
 278   1              chRTLInitTmp = ReadReg(0x08); //CRDA0
 279   1              chRTLInitTmp = ReadReg(0x09); //CRDA1
 280   1              chRTLInitTmp = ReadReg(0x0a); //8019ID0
 281   1              chRTLInitTmp = ReadReg(0x0b); //8019ID1
 282   1              chRTLInitTmp = ReadReg(0x0c); //RSR
 283   1              chRTLInitTmp = ReadReg(0x0d); //CNTR0
 284   1              chRTLInitTmp = ReadReg(0x0e); //CNTR1
 285   1              chRTLInitTmp = ReadReg(0x0f); //CNTR2
 286   1      
 287   1              RTLPage(1);
 288   1              chRTLInitTmp = ReadReg(0x00);
 289   1              //PAR0~5
 290   1              chRTLInitTmp = ReadReg(0x01);
 291   1              chRTLInitTmp = ReadReg(0x02);
 292   1              chRTLInitTmp = ReadReg(0x03);
 293   1              chRTLInitTmp = ReadReg(0x04);
 294   1              chRTLInitTmp = ReadReg(0x05);
 295   1              chRTLInitTmp = ReadReg(0x06);
C51 COMPILER V8.05a   8019                                                                 07/18/2007 15:08:04 PAGE 6   

 296   1              //CURR
 297   1              chRTLInitTmp = ReadReg(0x07);
 298   1              //MAR0~7
 299   1              chRTLInitTmp = ReadReg(0x08);
 300   1              chRTLInitTmp = ReadReg(0x09);
 301   1              chRTLInitTmp = ReadReg(0x0a);
 302   1              chRTLInitTmp = ReadReg(0x0b);
 303   1              chRTLInitTmp = ReadReg(0x0c);
 304   1              chRTLInitTmp = ReadReg(0x0d);
 305   1              chRTLInitTmp = ReadReg(0x0e);
 306   1              chRTLInitTmp = ReadReg(0x0f);
 307   1      
 308   1      
 309   1              /* transimit start page */
 310   1              LastSendStartPage = SEND_START_PAGE0;          //SEND_START_PAGE0 = 0x40
*** ERROR C202 IN LINE 310 OF E:\NETBRO~1\TRUNK\NETBRO~1\VW\8019.C: 'SEND_START_PAGE0': undefined identifier
 311   1              StartPageOfPacket = RECEIVE_START_PAGE + 1;    //RECEIVE_START_PAGE = 0x4c
*** ERROR C202 IN LINE 311 OF E:\NETBRO~1\TRUNK\NETBRO~1\VW\8019.C: 'RECEIVE_START_PAGE': undefined identifier
 312   1      
 313   1              /* in the beginning, no packet is in sending */
 314   1              InSending = FALSE;
*** ERROR C202 IN LINE 314 OF E:\NETBRO~1\TRUNK\NETBRO~1\VW\8019.C: 'FALSE': undefined identifier
 315   1              //for(i = 0;i < 20000;i++);
 316   1              RTLPage(0);
 317   1              chRTLInitTmp = ReadReg(0x00);
 318   1              //for(i = 0;i < 20000;i++);
 319   1              /* initial over, start command and receive */
 320   1              WriteReg(0x0c,0xcc);                //将芯片置于正常模式,跟外部网络连接
 321   1              WriteReg(0x0d,0xe0);
 322   1              WriteReg(0x07,0xFF);
 323   1              chRTLInitTmp = ReadReg(0x07);       //清除所有中断标志位
 324   1              WriteReg(0x00,0x22);
 325   1              //for(i = 0;i < 20000;i++);                //(CR_PAGE0 | CR_ABORT_COMPLETE_DMA | CR_START_COMMAND)
             -);
 326   1              //chRTLInitTmp = ReadReg(0x00);
 327   1       }

C51 COMPILATION COMPLETE.  5 WARNING(S),  3 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -