📄 bulkext.lst
字号:
289 3 AUTOPTRL2 = LSB( &EP8FIFOBUF );;
290 3
291 3 count = (EP4BCH << 8) + EP4BCL;
292 3
293 3 // loop EP2OUT buffer data to EP6IN
294 3 for( i = 0x0000; i < count; i++ )
295 3 {
296 4 // setup to transfer EP2OUT buffer to EP6IN buffer using AUTOPOINTER(s)
297 4 EXTAUTODAT2 = EXTAUTODAT1;
298 4 }
299 3
300 3 EP8BCH = EP4BCH;
301 3 SYNCDELAY;
302 3 EP8BCL = EP4BCL; // arm EP8IN
303 3 SYNCDELAY;
C51 COMPILER V7.02a BULKEXT 06/02/2004 00:34:27 PAGE 6
304 3 EP4BCL = 0x80; // re(arm) EP4OUT
305 3 }
306 2 }
307 1 }
308
309 BOOL TD_Suspend(void) // Called before the device goes into suspend mode
310 {
311 1 return(TRUE);
312 1 }
313
314 BOOL TD_Resume(void) // Called after the device resumes
315 {
316 1 return(TRUE);
317 1 }
318
319 //-----------------------------------------------------------------------------
320 // Device Request hooks
321 // The following hooks are called by the end point 0 device request parser.
322 //-----------------------------------------------------------------------------
323
324 BOOL DR_GetDescriptor(void)
325 {
326 1 return(TRUE);
327 1 }
328
329 BOOL DR_SetConfiguration(void) // Called when a Set Configuration command is received
330 {
331 1 Configuration = SETUPDAT[2];
332 1 return(TRUE); // Handled by user code
333 1 }
334
335 BOOL DR_GetConfiguration(void) // Called when a Get Configuration command is received
336 {
337 1 EP0BUF[0] = Configuration;
338 1 EP0BCH = 0;
339 1 EP0BCL = 1;
340 1 return(TRUE); // Handled by user code
341 1 }
342
343 BOOL DR_SetInterface(void) // Called when a Set Interface command is received
344 {
345 1 AlternateSetting = SETUPDAT[2];
346 1 return(TRUE); // Handled by user code
347 1 }
348
349 BOOL DR_GetInterface(void) // Called when a Set Interface command is received
350 {
351 1 // EZUSB_WriteI2C(0x21, 0x01, &(Digit[8]));
352 1 // EZUSB_WaitForEEPROMWrite(0x21);
353 1 EP0BUF[0] = AlternateSetting;
354 1 EP0BCH = 0;
355 1 EP0BCL = 1;
356 1 return(TRUE); // Handled by user code
357 1 }
358
359 BOOL DR_GetStatus(void)
360 {
361 1 return(TRUE);
362 1 }
363
364 BOOL DR_ClearFeature(void)
365 {
C51 COMPILER V7.02a BULKEXT 06/02/2004 00:34:27 PAGE 7
366 1 return(TRUE);
367 1 }
368
369 BOOL DR_SetFeature(void)
370 {
371 1 return(TRUE);
372 1 }
373
374 BOOL DR_VendorCmnd(void)
375 {
376 1 return(TRUE);
377 1 }
378
379 //-----------------------------------------------------------------------------
380 // USB Interrupt Handlers
381 // The following functions are called by the USB interrupt jump table.
382 //-----------------------------------------------------------------------------
383
384 // Setup Data Available Interrupt Handler
385 void ISR_Sudav(void) interrupt 0
386 {
387 1 // EZUSB_InitI2C();
388 1
389 1
390 1 // EZUSB_WriteI2C(0x21, 0x01, &(Digit[num]));
391 1 // EZUSB_WaitForEEPROMWrite(0x21);
392 1
393 1 GotSUD = TRUE;
394 1 EZUSB_IRQ_CLEAR();
395 1 USBIRQ = bmSUDAV; // Clear SUDAV IRQ
396 1 }
397
398 // Setup Token Interrupt Handler
399 void ISR_Sutok(void) interrupt 0
400 {
401 1 EZUSB_IRQ_CLEAR();
402 1 USBIRQ = bmSUTOK; // Clear SUTOK IRQ
403 1 }
404
405 void ISR_Sof(void) interrupt 0
406 {
407 1 // EZUSB_WriteI2C(0x21, 0x01, &(Digit[8]));
408 1 //EZUSB_WaitForEEPROMWrite(0x21);// Set flag
409 1 EZUSB_IRQ_CLEAR();
410 1 USBIRQ = bmSOF; // Clear SOF IRQ
411 1 }
412
413 void ISR_Ures(void) interrupt 0
414 {
415 1 if (EZUSB_HIGHSPEED())
416 1 {
417 2 pConfigDscr = pHighSpeedConfigDscr;
418 2 pOtherConfigDscr = pFullSpeedConfigDscr;
419 2 }
420 1 else
421 1 {
422 2 pConfigDscr = pFullSpeedConfigDscr;
423 2 pOtherConfigDscr = pHighSpeedConfigDscr;
424 2 }
425 1
426 1 EZUSB_IRQ_CLEAR();
427 1 USBIRQ = bmURES; // Clear URES IRQ
C51 COMPILER V7.02a BULKEXT 06/02/2004 00:34:27 PAGE 8
428 1 }
429
430 void ISR_Susp(void) interrupt 0
431 {
432 1 Sleep = TRUE;
433 1 EZUSB_IRQ_CLEAR();
434 1 USBIRQ = bmSUSP;
435 1 }
436
437 void ISR_Highspeed(void) interrupt 0
438 {
439 1 if (EZUSB_HIGHSPEED())
440 1 {
441 2 pConfigDscr = pHighSpeedConfigDscr;
442 2 pOtherConfigDscr = pFullSpeedConfigDscr;
443 2 }
444 1 else
445 1 {
446 2 pConfigDscr = pFullSpeedConfigDscr;
447 2 pOtherConfigDscr = pHighSpeedConfigDscr;
448 2 }
449 1
450 1 EZUSB_IRQ_CLEAR();
451 1 USBIRQ = bmHSGRANT;
452 1 }
453 void ISR_Ep0ack(void) interrupt 0
454 {
455 1 }
456 void ISR_Stub(void) interrupt 0
457 {
458 1 }
459 void ISR_Ep0in(void) interrupt 0
460 {
461 1 }
462 void ISR_Ep0out(void) interrupt 0
463 {
464 1 }
465 void ISR_Ep1in(void) interrupt 0
466 {
467 1 }
468 void ISR_Ep1out(void) interrupt 0
469 {
470 1 }
471 void ISR_Ep2inout(void) interrupt 0
472 {
473 1 num++;
474 1 if( num== 16 )
475 1 num=0;
476 1 EZUSB_IRQ_CLEAR();
477 1 EPIRQ = bmBIT4;
478 1 // USBIRQ = bmBIT4; // Clear URES IRQ
479 1
480 1
481 1 }
482 void ISR_Ep4inout(void) interrupt 0
483 {
484 1 }
485 void ISR_Ep6inout(void) interrupt 0
486 {
487 1 }
488 void ISR_Ep8inout(void) interrupt 0
489 {
C51 COMPILER V7.02a BULKEXT 06/02/2004 00:34:27 PAGE 9
490 1 }
491 void ISR_Ibn(void) interrupt 0
492 {
493 1 }
494 void ISR_Ep0pingnak(void) interrupt 0
495 {
496 1 }
497 void ISR_Ep1pingnak(void) interrupt 0
498 {
499 1 }
500 void ISR_Ep2pingnak(void) interrupt 0
501 {
502 1 }
503 void ISR_Ep4pingnak(void) interrupt 0
504 {
505 1 }
506 void ISR_Ep6pingnak(void) interrupt 0
507 {
508 1 }
509 void ISR_Ep8pingnak(void) interrupt 0
510 {
511 1 }
512 void ISR_Errorlimit(void) interrupt 0
513 {
514 1 }
515 void ISR_Ep2piderror(void) interrupt 0
516 {
517 1 }
518 void ISR_Ep4piderror(void) interrupt 0
519 {
520 1 }
521 void ISR_Ep6piderror(void) interrupt 0
522 {
523 1 }
524 void ISR_Ep8piderror(void) interrupt 0
525 {
526 1 }
527 void ISR_Ep2pflag(void) interrupt 0
528 {
529 1 }
530 void ISR_Ep4pflag(void) interrupt 0
531 {
532 1 }
533 void ISR_Ep6pflag(void) interrupt 0
534 {
535 1 }
536 void ISR_Ep8pflag(void) interrupt 0
537 {
538 1 }
539 void ISR_Ep2eflag(void) interrupt 0
540 {
541 1 }
542 void ISR_Ep4eflag(void) interrupt 0
543 {
544 1 }
545 void ISR_Ep6eflag(void) interrupt 0
546 {
547 1 }
548 void ISR_Ep8eflag(void) interrupt 0
549 {
550 1 }
551 void ISR_Ep2fflag(void) interrupt 0
C51 COMPILER V7.02a BULKEXT 06/02/2004 00:34:27 PAGE 10
552 {
553 1 }
554 void ISR_Ep4fflag(void) interrupt 0
555 {
556 1 }
557 void ISR_Ep6fflag(void) interrupt 0
558 {
559 1 }
560 void ISR_Ep8fflag(void) interrupt 0
561 {
562 1 }
563 void ISR_GpifComplete(void) interrupt 0
564 {
565 1 }
566 void ISR_GpifWaveform(void) interrupt 0
567 {
568 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1083 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 4
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 + -