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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? f34x_usb_isr.lst

?? C8051F340的USB開發(fā)
?? LST
?? 第 1 頁 / 共 2 頁
字號:
 263   4                  {
 264   5                     TempReg |= rbDATAEND;    // Add Data End bit to mask
 265   5                     Ep_Status[0] = EP_IDLE;  // and return Endpoint 0 to an idle state
 266   5                  }
 267   4                  POLL_WRITE_BYTE(E0CSR, TempReg);                          // Write mask to E0CSR
 268   4               }
 269   3            }
 270   2         }
 271   1      }
 272          
 273          //-----------------------------------------------------------------------------
 274          // Handle_In1
 275          //-----------------------------------------------------------------------------
 276          //
 277          // Return Value : None
 278          // Parameters   : None
 279          //
 280          // This routine loads the current value from In_Packet on the Endpoint 1 fifo,
 281          // after  an interrupt is received from the last packet being transmitted
 282          //
 283          //-----------------------------------------------------------------------------
 284          
 285          void Handle_In1()
 286          {
 287   1         BYTE ControlReg;
 288   1      
 289   1         POLL_WRITE_BYTE(INDEX, 1);           // Set index to endpoint 1 registers
 290   1         POLL_READ_BYTE(EINCSR1, ControlReg); // Read contol register for EP 1
 291   1      
 292   1         if (Ep_Status[1] == EP_HALT)         // If endpoint is currently halted, 
 293   1                                              // send a stall
 294   1         {
 295   2            POLL_WRITE_BYTE(EINCSR1, rbInSDSTL);
 296   2         }
 297   1      
 298   1         else                                 // Otherwise send last updated 
 299   1                                              // data to host
 300   1         {
 301   2            if (ControlReg & rbInSTSTL)       // Clear sent stall if last packet
 302   2                                                  // returned a stall
 303   2            {
C51 COMPILER V7.06   F34X_USB_ISR                                                          06/07/2007 00:12:17 PAGE 6   

 304   3               POLL_WRITE_BYTE(EINCSR1, rbInCLRDT);
 305   3            }
 306   2      
 307   2            if (ControlReg & rbInUNDRUN)      // Clear underrun bit if it was set
 308   2            {
 309   3               POLL_WRITE_BYTE(EINCSR1, 0x00);
 310   3            }
 311   2      
 312   2                                              // Put new data on Fifo
 313   2            Fifo_Write(FIFO_EP1, EP1_PACKET_SIZE, (BYTE *)IN_PACKET);
 314   2            POLL_WRITE_BYTE(EINCSR1, rbInINPRDY);
 315   2                                              // Set In Packet ready bit, indicating 
 316   2         }                                    // fresh data on Fifo 1
 317   1      }
 318          
 319          //-----------------------------------------------------------------------------
 320          // Handle_Out2
 321          //-----------------------------------------------------------------------------
 322          //
 323          // Return Value : None
 324          // Parameters   : None
 325          //
 326          // Take the received packet from the host off the fifo and put it into
 327          // the Out_Packet array
 328          //
 329          //-----------------------------------------------------------------------------
 330          
 331          void Handle_Out2()
 332          {
 333   1         BYTE Count = 0;
 334   1         BYTE ControlReg;
 335   1      
 336   1         POLL_WRITE_BYTE(INDEX, 2);          // Set index to endpoint 2 registers
 337   1         POLL_READ_BYTE(EOUTCSR1, ControlReg);
 338   1      
 339   1         if (Ep_Status[2] == EP_HALT)        // If endpoint is halted, send a stall
 340   1         {
 341   2            POLL_WRITE_BYTE(EOUTCSR1, rbOutSDSTL);
 342   2         }
 343   1      
 344   1         else                                // Otherwise read packet from host
 345   1         {
 346   2            if (ControlReg & rbOutSTSTL)     // Clear sent stall bit if last packet 
 347   2                                             // was a stall
 348   2            {
 349   3               POLL_WRITE_BYTE(EOUTCSR1, rbOutCLRDT);
 350   3            }
 351   2      
 352   2            POLL_READ_BYTE(EOUTCNTL, Count);
 353   2            if (Count != EP2_PACKET_SIZE)    // If host did not send correct packet 
 354   2                                                 // size, flush buffer
 355   2            {
 356   3               POLL_WRITE_BYTE(EOUTCNTL, rbOutFLUSH);
 357   3            }
 358   2            else                             // Otherwise get the data packet
 359   2            {
 360   3               Fifo_Read(FIFO_EP2, EP2_PACKET_SIZE, (BYTE*)OUT_PACKET);
 361   3            }
 362   2            POLL_WRITE_BYTE(EOUTCSR1, 0);    // Clear Out Packet ready bit
 363   2         }
 364   1      }
 365          
C51 COMPILER V7.06   F34X_USB_ISR                                                          06/07/2007 00:12:17 PAGE 7   

 366          //-----------------------------------------------------------------------------
 367          // Usb_Suspend
 368          //-----------------------------------------------------------------------------
 369          //
 370          // Return Value : None
 371          // Parameters   : None
 372          //
 373          // Enter suspend mode after suspend signalling is present on the bus
 374          //
 375          //-----------------------------------------------------------------------------
 376          
 377          void Usb_Suspend(void)
 378          {          
 379   1         // Put the device in a low power configuration
 380   1                                     
 381   1         P0MDIN  = 0x00;                     // Port 0 configured as analog input
 382   1         P1MDIN  = 0x00;                     // Port 1 configured as analog input
 383   1         P2MDIN  = 0x00;                     // Port 2 configured as analog input
 384   1         P3MDIN  = 0x00;                     // Port 3 configured as analog input
 385   1      
 386   1         ADC0CN &= ~0x80;                    // Disable ADC0
 387   1         REF0CN  = 0x00;                     // Disable voltage reference
 388   1      
 389   1         OSCICN |= 0x20;                     // Put oscillator 
 390   1      
 391   1         // When the device receives a non-idle USB event, it will resume execution
 392   1         // on the instruction that follows OSCICN |= 0x20.  
 393   1      
 394   1         // Re-enable everything that was disabled when going into Suspend
 395   1      
 396   1         P0MDIN  = 0xFF;                     // Port 0 configured as digital pins
 397   1         P1MDIN  = 0x7F;                     // Port 1 pin 7 set as digital pin
 398   1         P2MDIN  = 0xFF;                     // Port 2 configured as digital pins
 399   1         P3MDIN  = 0xFF;                     // Port 3 configured as digital pins
 400   1      
 401   1         REF0CN  = 0x0E;                     // Enable voltage reference VREF
 402   1         ADC0CN |= 0x80;                     // Re-enable ADC0
 403   1      }
 404          
 405          //-----------------------------------------------------------------------------
 406          // Usb_Resume
 407          //-----------------------------------------------------------------------------
 408          //
 409          // Return Value : None
 410          // Parameters   : None
 411          //
 412          // Resume normal USB operation
 413          //
 414          //-----------------------------------------------------------------------------
 415          
 416          void Usb_Resume(void)
 417          {
 418   1         volatile int k;
 419   1      
 420   1         k++;
 421   1      
 422   1         // Add code for resume
 423   1      }
 424          
 425          //-----------------------------------------------------------------------------
 426          // Fifo_Read
 427          //-----------------------------------------------------------------------------
C51 COMPILER V7.06   F34X_USB_ISR                                                          06/07/2007 00:12:17 PAGE 8   

 428          //
 429          // Return Value : None
 430          // Parameters   :
 431          //                1) BYTE addr : target address
 432          //                2) unsigned int uNumBytes : number of bytes to unload
 433          //                3) BYTE * pData : read data destination
 434          //
 435          // Read from the selected endpoint FIFO
 436          //
 437          //-----------------------------------------------------------------------------
 438          
 439          void Fifo_Read(BYTE addr, unsigned int uNumBytes, BYTE * pData)
 440          {
 441   1         int i;
 442   1      
 443   1         if (uNumBytes)                         // Check if >0 bytes requested,
 444   1         {
 445   2            USB0ADR = (addr);                   // Set address
 446   2            USB0ADR |= 0xC0;                    // Set auto-read and initiate
 447   2                                                // first read
 448   2      
 449   2            // Unload <NumBytes> from the selected FIFO
 450   2            for(i=0;i<uNumBytes-1;i++)
 451   2            {
 452   3               while(USB0ADR & 0x80);           // Wait for BUSY->'0' (data ready)
 453   3               pData[i] = USB0DAT;              // Copy data byte
 454   3            }
 455   2      
 456   2            USB0ADR = 0;                           // Clear auto-read
 457   2      
 458   2            while(USB0ADR & 0x80);               // Wait for BUSY->'0' (data ready)
 459   2            pData[i] = USB0DAT;                  // Copy data byte
 460   2         }
 461   1      }
 462          
 463          //-----------------------------------------------------------------------------
 464          // Fifo_Write
 465          //-----------------------------------------------------------------------------
 466          //
 467          // Return Value : None
 468          // Parameters   :
 469          //                1) BYTE addr : target address
 470          //                2) unsigned int uNumBytes : number of bytes to unload
 471          //                3) BYTE * pData : location of source data
 472          //
 473          // Write to the selected endpoint FIFO
 474          //
 475          //-----------------------------------------------------------------------------
 476          
 477          void Fifo_Write(BYTE addr, unsigned int uNumBytes, BYTE * pData)
 478          {
 479   1         int i;
 480   1      
 481   1         // If >0 bytes requested,
 482   1         if (uNumBytes)
 483   1         {
 484   2            while(USB0ADR & 0x80);              // Wait for BUSY->'0'
 485   2                                                // (register available)
 486   2            USB0ADR = (addr);                   // Set address (mask out bits7-6)
 487   2      
 488   2            // Write <NumBytes> to the selected FIFO
 489   2            for(i=0;i<uNumBytes;i++)
C51 COMPILER V7.06   F34X_USB_ISR                                                          06/07/2007 00:12:17 PAGE 9   

 490   2            {
 491   3               USB0DAT = pData[i];
 492   3               while(USB0ADR & 0x80);           // Wait for BUSY->'0' (data ready)
 493   3            }
 494   2         }
 495   1      }
 496          
 497          //-----------------------------------------------------------------------------
 498          // Force_Stall
 499          //-----------------------------------------------------------------------------
 500          //
 501          // Return Value : None
 502          // Parameters   : None
 503          //
 504          // Force a procedural stall to be sent to the host
 505          //
 506          //-----------------------------------------------------------------------------
 507          
 508          void Force_Stall(void)
 509          {
 510   1         POLL_WRITE_BYTE(INDEX, 0);
 511   1         POLL_WRITE_BYTE(E0CSR, rbSDSTL);       // Set the send stall bit
 512   1         Ep_Status[0] = EP_STALL;               // Put the endpoint in stall status
 513   1      }
 514          
 515          //-----------------------------------------------------------------------------
 516          // End Of File
 517          //-----------------------------------------------------------------------------


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1031    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     19      17
   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一区二区三区免费野_久草精品视频
国产不卡在线视频| 奇米色一区二区| 91啪九色porn原创视频在线观看| 中文字幕精品三区| 成人激情免费电影网址| 日韩伦理免费电影| 欧美视频精品在线观看| 奇米综合一区二区三区精品视频| 日韩视频在线一区二区| 国产呦萝稀缺另类资源| 国产精品久线观看视频| 在线中文字幕一区| 亚洲第一福利一区| 26uuu精品一区二区三区四区在线| 丁香一区二区三区| 亚洲综合色视频| 精品美女在线观看| 99精品久久久久久| 日本欧美加勒比视频| 久久亚洲春色中文字幕久久久| 99精品欧美一区二区蜜桃免费 | 五月激情综合网| 久久久一区二区| 91成人在线精品| 精品在线你懂的| 亚洲欧美区自拍先锋| 日韩欧美一区二区三区在线| 成人午夜视频福利| 天天综合天天做天天综合| 久久综合色8888| 欧美在线视频你懂得| 国产美女在线精品| 亚洲va中文字幕| 久久嫩草精品久久久精品一| 色一情一乱一乱一91av| 精品一区二区三区在线视频| 中文字幕一区二区三区蜜月| 91精品欧美综合在线观看最新| 成人黄色软件下载| 久久精品久久综合| 亚洲一区在线电影| 国产精品视频线看| 精品国产人成亚洲区| 欧美午夜精品理论片a级按摩| 成人一区在线观看| 麻豆91在线观看| 亚洲一本大道在线| 自拍偷拍亚洲综合| 26uuu亚洲| 日韩欧美久久久| 欧美午夜不卡视频| 色狠狠一区二区| 成人免费高清在线| 美国精品在线观看| 亚洲国产精品嫩草影院| 国产精品精品国产色婷婷| 精品国产1区二区| 日韩写真欧美这视频| 日本精品视频一区二区三区| 粉嫩嫩av羞羞动漫久久久| 秋霞午夜av一区二区三区| 亚洲最新视频在线观看| 亚洲国产高清不卡| 国产亚洲成年网址在线观看| 欧美一区二区久久| 欧美丰满少妇xxxxx高潮对白| 91香蕉视频黄| 国产成人超碰人人澡人人澡| 九九九精品视频| 另类小说色综合网站| 免费成人你懂的| 日本一不卡视频| 日韩福利电影在线| 午夜久久久久久电影| 三级欧美韩日大片在线看| 亚洲成人精品一区二区| 亚洲国产sm捆绑调教视频| 亚洲国产你懂的| 天堂蜜桃91精品| 午夜a成v人精品| 日韩精品一二区| 久久精品国产免费| 久久精品噜噜噜成人88aⅴ| 久久精品国产精品青草| 国产尤物一区二区| 成人午夜精品在线| 91视频你懂的| 欧美日韩精品欧美日韩精品| 777奇米成人网| 2021中文字幕一区亚洲| 国产偷v国产偷v亚洲高清| 国产精品久久久久久久久免费桃花| 国产精品国产三级国产aⅴ中文| 中文字幕亚洲在| 亚洲.国产.中文慕字在线| 欧美96一区二区免费视频| 久久激情五月婷婷| 成人久久视频在线观看| 色婷婷狠狠综合| 91精品国模一区二区三区| 欧美成人a∨高清免费观看| 久久精品日韩一区二区三区| 日韩码欧中文字| 日韩在线观看一区二区| 国产精品一级片| 日本韩国欧美在线| 欧美mv和日韩mv国产网站| 国产精品视频看| 三级亚洲高清视频| 国产91精品在线观看| 91福利精品第一导航| 欧美大片顶级少妇| 亚洲天堂福利av| 蜜臀久久99精品久久久久久9| 国产成人综合自拍| 欧美日韩亚洲综合在线 | 欧美精品高清视频| 久久久久97国产精华液好用吗| 一区二区中文字幕在线| 午夜电影一区二区| 国产高清久久久| 精品污污网站免费看| 久久久精品免费网站| 亚洲午夜一二三区视频| 国产精品123| 91精品婷婷国产综合久久 | 日韩视频永久免费| 亚洲欧洲99久久| 蜜臀av性久久久久蜜臀aⅴ流畅 | 麻豆91在线观看| 欧美中文字幕亚洲一区二区va在线| www成人在线观看| 午夜欧美2019年伦理| 不卡的av电影在线观看| 精品久久久网站| 午夜精品福利一区二区三区av| 成人av免费网站| 精品国产乱码久久久久久图片| 亚洲综合区在线| 成人免费电影视频| 久久久久久免费| 青青草国产成人99久久| 在线精品视频一区二区| 国产精品对白交换视频| 国产麻豆视频一区| 日韩精品中文字幕在线一区| 亚洲高清免费一级二级三级| a亚洲天堂av| 亚洲国产精品成人综合| 国产麻豆精品视频| 日韩视频一区二区三区在线播放 | 欧美一级久久久| 亚洲国产你懂的| 一本色道久久综合亚洲aⅴ蜜桃 | 538prom精品视频线放| 亚洲欧美另类在线| 91在线小视频| 中文字幕日韩一区| 成人黄色综合网站| 中文字幕国产一区| av电影天堂一区二区在线观看| 国产亚洲综合av| 国内欧美视频一区二区| xvideos.蜜桃一区二区| 韩国精品在线观看| 国产亚洲一区二区三区四区| 国产资源在线一区| 国产日韩欧美综合一区| 国产精品一级片| 国产精品麻豆网站| 99国产麻豆精品| 亚洲久本草在线中文字幕| 一本一本大道香蕉久在线精品| 亚洲精品午夜久久久| 91网站视频在线观看| 一个色综合av| 欧美电影一区二区| 日本麻豆一区二区三区视频| 欧美一区二区三区在| 美脚の诱脚舐め脚责91 | 91精品国产综合久久久久久| 午夜精品久久久久影视| 欧美精品1区2区| 精品无码三级在线观看视频| 久久蜜桃av一区精品变态类天堂 | 国产.精品.日韩.另类.中文.在线.播放| 久久久久综合网| 成人ar影院免费观看视频| 亚洲欧美日韩在线| 欧美日韩日日夜夜| 久久精品国产亚洲aⅴ| 国产精品美女久久久久av爽李琼| www.欧美.com| 视频一区国产视频| 久久麻豆一区二区| 91福利国产成人精品照片| 日本伊人午夜精品| 国产精品久久久久久久久快鸭 | 欧美一区日韩一区| 国产成人综合亚洲网站|