亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainloop.lst

?? 這是PDIUSBD12 smart開發(fā)板原版開發(fā)包
?? LST
?? 第 1 頁 / 共 2 頁
字號:
 261   4                                    else if(bEPPflags.bits.dma_state == DMA_RUNNING)
 262   4                                          printf("DMA_State = DMA_RUNNING.\n");
 263   4                                    else if(bEPPflags.bits.dma_state == DMA_PENDING)
 264   4                                          printf("DMA_State = DMA_PENDING.\n");
 265   4      
 266   4                                    printf("Last Device Request: bmRequestType = 0x%bx, bRequest= 0x%bx, wValue = 0x%x, wLength = 0x%x, w
             -Index = 0x%x.\n",
 267   4      
 268   4                                          ControlData.DeviceRequest.bmRequestType,
 269   4                                          ControlData.DeviceRequest.bRequest,
 270   4                                          ControlData.DeviceRequest.wValue,
 271   4                                          ControlData.DeviceRequest.wLength,
 272   4                                          ControlData.DeviceRequest.wIndex);
 273   4      
 274   4                                    printf("Data: ");
 275   4                                    for(i = 0; i < ControlData.DeviceRequest.wLength; i ++)
 276   4                                          printf("0x%bx, ", *((ControlData.dataBuffer)+i));
 277   4                                    printf("\n");
 278   4      
 279   4                                    break;
 280   4                              case '\r':
 281   4                                    reconnect_USB();
 282   4                                    break;
 283   4      
 284   4                              case 'v':
 285   4                                    if(bEPPflags.bits.verbose == 0) {
 286   5                                          printf("Verbose Mode = ON.\n");
 287   5                                          DISABLE;
 288   5                                          bEPPflags.bits.verbose = 1;
 289   5                                          ENABLE;
 290   5                                    }
 291   4                                    else {
 292   5                                          printf("Verbose Mode = OFF.\n");
 293   5                                          DISABLE;
 294   5                                          bEPPflags.bits.verbose = 0;
 295   5                                          ENABLE;
 296   5                                    }
 297   4                                    break;
 298   4                              default:
 299   4                                    break;
 300   4                        }
 301   3                  }
 302   2      
C51 COMPILER V7.01  MAINLOOP                                                               08/18/2003 08:43:22 PAGE 6   

 303   2                  if (bEPPflags.bits.bus_reset) {//設備復位處理
 304   3                        DISABLE;
 305   3                        bEPPflags.bits.bus_reset = 0;
 306   3                        ENABLE;
 307   3                        // Release D12's SUSPEND pin after bus reset
 308   3                        // Enable 74HCT123 pulse generation before disconnect
 309   3                        D12SUSPD = 1;
 310   3                  } // if bus reset
 311   2      
 312   2                  if (bEPPflags.bits.suspend) {//掛起改變處理
 313   3                        DISABLE;
 314   3                        bEPPflags.bits.suspend= 0;
 315   3                        ENABLE;
 316   3      
 317   3                        if(D12SUSPD == 1) {//掛起處理
 318   4                              D12SUSPD = 0;
 319   4                              P0 = 0xFF;
 320   4                              P1 = 0xFF;
 321   4                              P2 = 0xFF;
 322   4                              P3 = 0xFF;
 323   4                              D12_SetDMA(0xC3);
 324   4                              D12SUSPD = 1;
 325   4                              PCON |= 0x02;
 326   4                              while (1);
 327   4                        }
 328   3                  } // if suspend change
 329   2      
 330   2                  if (bEPPflags.bits.setup_packet){//Setup包處理
 331   3                        DISABLE;
 332   3                        bEPPflags.bits.setup_packet = 0;
 333   3                        ENABLE;
 334   3                        control_handler();//調(diào)用請求處理子程序
 335   3                        D12SUSPD = 1;
 336   3                  } // if setup_packet
 337   2      
 338   2                  if(bEPPflags.bits.setup_dma != 0) {//DMA狀態(tài)改變處理
 339   3                        DISABLE;
 340   3                        bEPPflags.bits.setup_dma --;
 341   3                        ENABLE;
 342   3                        setup_dma();
 343   3                  } // if setup_dma
 344   2      
 345   2            } // Main Loop
 346   1      }
 347          
 348          //返回stall應答
 349          void stall_ep0(void)
 350          {
 351   1            D12_SetEndpointStatus(0, 1);
 352   1            D12_SetEndpointStatus(1, 1);
 353   1      }
 354          
 355          //斷開USB總線
 356          void disconnect_USB(void)
 357          {
 358   1            // Initialize D12 configuration
 359   1            D12_SetMode(D12_NOLAZYCLOCK, D12_SETTOONE | D12_CLOCK_12M);
 360   1      }
 361          
 362          //連接USB總線
 363          void connect_USB(void)
 364          {
C51 COMPILER V7.01  MAINLOOP                                                               08/18/2003 08:43:22 PAGE 7   

 365   1            // reset event flags
 366   1            DISABLE;
 367   1            bEPPflags.value = 0;//清除所有狀態(tài)
 368   1            ENABLE;
 369   1      
 370   1            // V2.1 enable normal+sof interrupt
 371   1            D12_SetDMA(D12_ENDP4INTENABLE | D12_ENDP5INTENABLE);
 372   1      
 373   1            // Initialize D12 configuration
 374   1            D12_SetMode(D12_NOLAZYCLOCK|D12_SOFTCONNECT, D12_SETTOONE | D12_CLOCK_12M);
 375   1      }
 376          
 377          //重新連接到USB總線
 378          void reconnect_USB(void)
 379          {
 380   1            unsigned long clk_cnt;
 381   1      
 382   1            MCU_LED0 = 0;
 383   1            MCU_LED1 = 0;
 384   1      
 385   1            // Pull-down D12's SUSPEND pin
 386   1            // Disable 74HCT123 pulse generation before disconnect
 387   1            // Release D12's SUSPEND pin after receiving bus reset from host
 388   1            D12SUSPD = 0;
 389   1            disconnect_USB();
 390   1      
 391   1            printf("Wait for 1 second ...\n");
 392   1      
 393   1            clk_cnt = ClockTicks;
 394   1            while(ClockTicks < clk_cnt + 20)
 395   1                  ;
 396   1      
 397   1            connect_USB();
 398   1      
 399   1            MCU_LED0 = 1;
 400   1            MCU_LED1 = 1;
 401   1      }
 402          
 403          //恢復到未配置狀態(tài)
 404          void init_unconfig(void)
 405          {
 406   1      //    unsigned char i;
 407   1      
 408   1            D12_SetEndpointEnable(0);     /* Disable all endpoints but EPP0. */
 409   1      }
 410          
 411          //設置配置狀態(tài)
 412          void init_config(void)
 413          {
 414   1            D12_SetEndpointEnable(1);     /* Enable  generic/iso endpoints. */
 415   1      }
 416          
 417          //從端點號1發(fā)送數(shù)據(jù)
 418          void single_transmit(unsigned char * buf, unsigned char len)
 419          {
 420   1            if( len <= EP0_PACKET_SIZE) {
 421   2                  D12_WriteEndpoint(1, len, buf);
 422   2            }
 423   1      }
 424          
 425          //發(fā)送端點號1建立代碼
 426          void code_transmit(unsigned char code * pRomData, unsigned short len)
C51 COMPILER V7.01  MAINLOOP                                                               08/18/2003 08:43:22 PAGE 8   

 427          {
 428   1            ControlData.wCount = 0;
 429   1            if(ControlData.wLength > len)
 430   1                  ControlData.wLength = len;
 431   1      
 432   1            ControlData.pData = pRomData;
 433   1            if( ControlData.wLength >= EP0_PACKET_SIZE) {
 434   2                  D12_WriteEndpoint(1, EP0_PACKET_SIZE, ControlData.pData);//發(fā)送16字節(jié)數(shù)據(jù)
 435   2                  ControlData.wCount += EP0_PACKET_SIZE;
 436   2                  DISABLE;
 437   2                  bEPPflags.bits.control_state = USB_TRANSMIT;
 438   2                  ENABLE;
 439   2            }
 440   1            else {
 441   2                  D12_WriteEndpoint(1, ControlData.wLength, pRomData);//發(fā)送16字節(jié)內(nèi)數(shù)據(jù)
 442   2                  ControlData.wCount += ControlData.wLength;
 443   2                  DISABLE;
 444   2                  bEPPflags.bits.control_state = USB_IDLE;
 445   2                  ENABLE;
 446   2            }
 447   1      }
 448          
 449          //LED和按鍵處理子程序
 450          void check_key_LED(void)
 451          {
 452   1            static unsigned char c, last_key = 0xf;
 453   1      
 454   1            c = MCU_SWM0 & MCU_SWM1;
 455   1            c &= 0x0f;
 456   1            if (c != last_key) {
 457   2                  D12_WriteEndpoint(3, 1, &c);//發(fā)送按鍵狀態(tài)
 458   2            }
 459   1      
 460   1            last_key = c;
 461   1      
 462   1            if(bEPPflags.bits.ep1_rxdone) {
 463   2                  DISABLE;
 464   2                  bEPPflags.bits.ep1_rxdone = 0;
 465   2                  ENABLE;
 466   2                  MCU_LED0 = !(GenEpBuf[3] & 0x1);//改變LED狀態(tài)
 467   2                  MCU_LED1 = !(GenEpBuf[3] & 0x2);
 468   2            }
 469   1      }
 470          
 471          //DMA建立子程序
 472          void setup_dma()
 473          {
 474   1            ioSize = ioRequest.uSize;
 475   1            ioCount = 0;
 476   1      
 477   1            DISABLE;
 478   1            bEPPflags.bits.dma_state = DMA_RUNNING;
 479   1            ENABLE;
 480   1      
 481   1            single_transmit(0, 0);
 482   1      
 483   1            if(ioRequest.bCommand & 0x1) {
 484   2                  if(ioSize > 64 || ioSize == 0) {
 485   3                        //傳輸大于64字節(jié)數(shù)據(jù)
 486   3                        D12_WriteEndpoint(5, 64, EpBuf);
 487   3                        ioCount += 64;
 488   3                  }
C51 COMPILER V7.01  MAINLOOP                                                               08/18/2003 08:43:22 PAGE 9   

 489   2                  else {
 490   3                        //傳輸64字節(jié)數(shù)據(jù)
 491   3                        D12_WriteEndpoint(5, ioSize, EpBuf);
 492   3                        ioCount += ioSize;
 493   3                  }
 494   2            }
 495   1      }
 496          
 497          //請求處理子程序
 498          void control_handler()
 499          {
 500   1            unsigned char type, req;
 501   1      
 502   1            type = ControlData.DeviceRequest.bmRequestType & USB_REQUEST_TYPE_MASK;
 503   1            req = ControlData.DeviceRequest.bRequest & USB_REQUEST_MASK;
 504   1      
 505   1            help_devreq(type, req); //顯示設備請求
 506   1      
 507   1            if (type == USB_STANDARD_REQUEST)
 508   1                  (*StandardDeviceRequest[req])();//調(diào)用標準請求
 509   1            else if (type == USB_VENDOR_REQUEST)
 510   1                  (*VendorDeviceRequest[req])();//調(diào)用廠商請求
 511   1            else
 512   1                  stall_ep0();
 513   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1324    ----
   CONSTANT SIZE    =    919    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     26      18
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久亚洲伦| 国产成人av一区二区三区在线 | 国产精品免费视频观看| 极品少妇一区二区| 亚洲色大成网站www久久九九| 制服丝袜一区二区三区| 国产一区二区导航在线播放| 亚洲欧美激情插| 日韩精品一区二区在线观看| 色婷婷激情一区二区三区| 欧美日韩综合在线| 欧美色视频在线观看| 91福利在线导航| 欧美亚洲综合一区| 欧美性色欧美a在线播放| 欧美在线观看18| 在线免费观看日本一区| 一本一道久久a久久精品| 色妹子一区二区| 欧洲亚洲精品在线| 欧美日韩黄色一区二区| 在线播放欧美女士性生活| 91精品国模一区二区三区| 精品久久久久av影院| 久久精品这里都是精品| 欧美激情一区二区三区四区| 日本一区二区成人| 亚洲欧美国产三级| 亚洲国产wwwccc36天堂| 日本欧美一区二区在线观看| 激情六月婷婷久久| 成人午夜精品在线| 色悠悠久久综合| 91精选在线观看| 久久久久久久综合日本| 亚洲三级在线免费观看| 亚洲成av人片在线| 韩日精品视频一区| 成人高清视频在线观看| 在线视频你懂得一区| 91麻豆精品国产无毒不卡在线观看 | 色av一区二区| 欧美日韩成人在线| 久久免费的精品国产v∧| 中文字幕一区二区三区乱码在线| 国产精品美女久久久久aⅴ | 视频在线观看91| 国产精品正在播放| 色综合久久综合| 日韩美女在线视频| 亚洲视频在线一区二区| 日韩高清不卡在线| 国产成人精品免费| 欧美无人高清视频在线观看| 日韩免费视频一区二区| 亚洲欧美日韩一区二区三区在线观看| 麻豆成人免费电影| eeuss鲁一区二区三区| 欧美日韩国产综合一区二区三区| 国产视频不卡一区| 婷婷久久综合九色综合伊人色| 国产一区二区三区黄视频 | 91精品国产综合久久精品性色| 久久新电视剧免费观看| 一区二区三区小说| 国产精品资源站在线| 在线观看一区不卡| 国产欧美一区二区在线| 亚洲一区二区av在线| 成人午夜精品在线| 亚洲精品在线三区| 亚洲综合色区另类av| 国产精品1024久久| 91精品国产综合久久精品麻豆| 亚洲日本一区二区| 国产精品88av| 日韩欧美在线影院| 亚洲精品成人悠悠色影视| 国产精品自拍在线| 欧美一区二区三区精品| 一区二区日韩av| 成人午夜视频福利| 精品国产自在久精品国产| 午夜婷婷国产麻豆精品| av资源网一区| 中文字幕av一区二区三区免费看| 国内精品免费**视频| 91精品国产麻豆国产自产在线 | 亚洲国产毛片aaaaa无费看| 国产成人超碰人人澡人人澡| 欧美成人猛片aaaaaaa| 亚洲最色的网站| 99久久综合精品| 国产免费观看久久| 国产在线观看一区二区| 欧美一区二区福利视频| 午夜成人免费视频| 欧美日韩国产高清一区二区三区 | 亚洲精品久久久蜜桃| 成人黄色免费短视频| 久久亚洲精品小早川怜子| 狠狠狠色丁香婷婷综合久久五月| 欧美麻豆精品久久久久久| 亚洲电影你懂得| 日本黄色一区二区| 亚洲精品成人a在线观看| av毛片久久久久**hd| 中文字幕一区三区| 99在线精品视频| 国产精品久久777777| 国产成人8x视频一区二区 | 六月丁香婷婷久久| 欧美一区二区三区四区五区| 日韩国产在线一| 欧美一区二区视频网站| 青青草原综合久久大伊人精品 | 日韩精品中文字幕一区二区三区 | 亚洲观看高清完整版在线观看| 99久久精品国产麻豆演员表| 亚洲人成在线观看一区二区| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 精品一区二区三区免费视频| 日韩你懂的在线观看| 国产一区二区三区在线观看免费| 欧美成人三级在线| 国产麻豆精品视频| 国产精品久久久爽爽爽麻豆色哟哟| 成人激情校园春色| 综合久久久久综合| 欧美视频完全免费看| 午夜精品久久久久| 欧美一区二区啪啪| 美国精品在线观看| 久久综合久久鬼色| 91小宝寻花一区二区三区| 亚洲国产美国国产综合一区二区| 欧美一区二区精品久久911| 精品综合免费视频观看| 亚洲国产成人一区二区三区| 成人av电影免费在线播放| 亚洲第一电影网| 日韩午夜激情av| 国产成人亚洲综合a∨猫咪| 国产精品福利电影一区二区三区四区| 91女厕偷拍女厕偷拍高清| 免费成人在线播放| 久久久国产一区二区三区四区小说| 国产成人午夜高潮毛片| 亚洲色图视频免费播放| 日韩一区二区免费在线观看| 国产91在线看| 亚洲一二三级电影| 欧美大胆一级视频| av动漫一区二区| 免费人成黄页网站在线一区二区| 久久久噜噜噜久久人人看 | 久久综合色天天久久综合图片| www.日韩精品| 高清beeg欧美| 日韩欧美一区二区在线视频| 夜夜操天天操亚洲| 日韩精品在线一区二区| 成人av午夜影院| 免费欧美日韩国产三级电影| 国产精品国产三级国产a| 在线电影一区二区三区| 国产精品综合一区二区| 亚洲成a人片在线不卡一二三区| 久久嫩草精品久久久精品一| 欧洲色大大久久| 风间由美一区二区三区在线观看| 亚洲一区二区影院| 欧美国产精品v| 日韩欧美一区二区免费| 色婷婷亚洲综合| 国产 日韩 欧美大片| 免费久久99精品国产| 亚洲精品一二三四区| 久久久国产精品午夜一区ai换脸| 欧美精品精品一区| 91小宝寻花一区二区三区| 国产成人一级电影| 人人爽香蕉精品| 亚洲一区二区三区四区在线观看 | 欧美精品一区二区三区高清aⅴ| 91免费视频大全| 国产不卡在线视频| 毛片av一区二区三区| 亚洲福利视频一区二区| 中文字幕一区二区在线观看| 久久毛片高清国产| 欧美一区二区三区小说| 欧美日韩久久一区二区| 91麻豆精品在线观看| 懂色av中文字幕一区二区三区 | 国产福利一区在线| 裸体一区二区三区| 舔着乳尖日韩一区| 亚洲综合色视频| 亚洲精品视频在线观看网站|