?? can.lst
字號:
430 2
431 2 uwStatusA = CAN_ASR;
432 2 if (uwStatusA & 0x0008) // if TXOK
433 2 {
434 3 // Indicates that a message has been transmitted successfully
435 3 // (error free and acknowledged by at least one other node).
436 3
437 3 uwStatusA &= 0xfff7;
438 3 CAN_ASR = uwStatusA; // reset TXOK
439 3
440 3 // USER CODE BEGIN (SRN0_NODEA,3)
441 3
442 3 // USER CODE END
443 3 }
444 2
445 2 if (uwStatusA & 0x0010) // if RXOK
446 2 {
447 3 // Indicates that a message has been received successfully.
448 3
449 3 uwStatusA &= 0xffef;
450 3 CAN_ASR = uwStatusA; // reset RXOK
451 3
452 3 // USER CODE BEGIN (SRN0_NODEA,4)
453 3
454 3 // USER CODE END
455 3 }
456 2
457 2
458 2 // USER CODE BEGIN (SRN0_NODEA,13)
459 2
460 2 // USER CODE END
461 2
462 2
463 2
464 2 // message object 0 interrupt
465 2
466 2 if((CAN_HWOBJ[0].uwMSGCTR & 0x0003) == 0x0002) // if INTPND
467 2 {
468 3 if(CAN_RXIPNDL & CAN_RXIPNDL_RXIPND0) // message object 0 receive interrupt
469 3 {
470 4
471 4 if((CAN_HWOBJ[0].uwMSGCTR & 0x0300) == 0x0200) // if NEWDAT is set
472 4 {
473 5
474 5 if ((CAN_HWOBJ[0].uwMSGCTR & 0x0c00) == 0x0800) // if MSGLST is set
475 5 {
476 6 // Indicates that the CAN controller has stored a new
477 6 // message into this object, while NEWDAT was still set,
478 6 // ie. the previously stored message is lost.
479 6
480 6 CAN_HWOBJ[0].uwMSGCTR = 0xf7ff; // reset MSGLST
481 6
482 6 // USER CODE BEGIN (SRN0_OBJ0,1)
483 6
484 6 // USER CODE END
485 6 }
486 5 else
487 5 {
488 6 // The CAN controller has stored a new message
489 6 // into this object.
C166 COMPILER V6.04, CAN 04/06/2009 22:15:28 PAGE 9
490 6
491 6 // USER CODE BEGIN (SRN0_OBJ0,2)
492 6 // CAN接收串口發(fā)送暫時關(guān)閉
493 6 can_data[0]=CAN_HWOBJ[0].ulCANAR>>26;
*** WARNING C192 IN LINE 493 OF CAN.C: '=': value truncated
494 6 can_data[1]=CAN_HWOBJ[0].ulCANAR>>18;
*** WARNING C192 IN LINE 494 OF CAN.C: '=': value truncated
495 6 if (can_data[1] == 0x20)
496 6 {
497 7 for(i = 0; i < (CAN_HWOBJ[0].uwMSGCFG & 0x00f0) >> 4; i++)
498 7 {
499 8 can_data1[i+2] = CAN_HWOBJ[0].ubData[i];
500 8 }
501 7 }
502 6 else if (can_data[1] == 0x21)
503 6 {
504 7 for(i = 0; i < (CAN_HWOBJ[0].uwMSGCFG & 0x00f0) >> 4; i++)
505 7 {
506 8 can_data2[i+2] = CAN_HWOBJ[0].ubData[i];
507 8 }
508 7 }
509 6 else if (can_data[1] == 0x30)
510 6 {
511 7 for(i = 0; i < (CAN_HWOBJ[0].uwMSGCFG & 0x00f0) >> 4; i++)
512 7 {
513 8 can_data3[i+2] = CAN_HWOBJ[0].ubData[i];
514 8 }
515 7 }
516 6 else if (can_data[1] == 0x90)
517 6 {
518 7 for(i = 0; i < (CAN_HWOBJ[0].uwMSGCFG & 0x00f0) >> 4; i++)
519 7 {
520 8 can_data4[i+2] = CAN_HWOBJ[0].ubData[i];
521 8 }
522 7 }
523 6 else if (can_data[1] == 0x91)
524 6 {
525 7 for(i = 0; i < (CAN_HWOBJ[0].uwMSGCFG & 0x00f0) >> 4; i++)
526 7 {
527 8 can_data5[i+2] = CAN_HWOBJ[0].ubData[i];
528 8 }
529 7 }
530 6 else if (can_data[1] == 0x92)
531 6 {
532 7 for(i = 0; i < (CAN_HWOBJ[0].uwMSGCFG & 0x00f0) >> 4; i++)
533 7 {
534 8 can_data6[i+2] = CAN_HWOBJ[0].ubData[i];
535 8 }
536 7 }
537 6 else if (can_data[1] == 0x93)
538 6 {
539 7 for(i = 0; i < (CAN_HWOBJ[0].uwMSGCFG & 0x00f0) >> 4; i++)
540 7 {
541 8 can_data7[i+2] = CAN_HWOBJ[0].ubData[i];
542 8 }
543 7 }
544 6 else if (can_data[1] == 0x94)
545 6 {
546 7 for(i = 0; i < (CAN_HWOBJ[0].uwMSGCFG & 0x00f0) >> 4; i++)
547 7 {
548 8 can_data8[i+2] = CAN_HWOBJ[0].ubData[i];
549 8 }
C166 COMPILER V6.04, CAN 04/06/2009 22:15:28 PAGE 10
550 7 }
551 6 else if (can_data[1] == 0x95)
552 6 {
553 7 for(i = 0; i < (CAN_HWOBJ[0].uwMSGCFG & 0x00f0) >> 4; i++)
554 7 {
555 8 can_data9[i+2] = CAN_HWOBJ[0].ubData[i];
556 8 }
557 7 }
558 6 else if (can_data[1] == 0xb0)
559 6 {
560 7 for(i = 0; i < (CAN_HWOBJ[0].uwMSGCFG & 0x00f0) >> 4; i++)
561 7 {
562 8 can_data10[i+2] = CAN_HWOBJ[0].ubData[i];
563 8 }
564 7 }
565 6 else if (can_data[1] == 0xb1)
566 6 {
567 7 for(i = 0; i < (CAN_HWOBJ[0].uwMSGCFG & 0x00f0) >> 4; i++)
568 7 {
569 8 can_data11[i+2] = CAN_HWOBJ[0].ubData[i];
570 8 }
571 7 }
572 6 else if (can_data[1] == 0xb2)
573 6 {
574 7 for(i = 0; i < (CAN_HWOBJ[0].uwMSGCFG & 0x00f0) >> 4; i++)
575 7 {
576 8 can_data12[i+2] = CAN_HWOBJ[0].ubData[i];
577 8 }
578 7 }
579 6 else if (can_data[1] == 0xc0)
580 6 {
581 7 for(i = 0; i < (CAN_HWOBJ[0].uwMSGCFG & 0x00f0) >> 4; i++)
582 7 {
583 8 can_data13[i+2] = CAN_HWOBJ[0].ubData[i];
584 8 }
585 7 }
586 6
587 6 // USER CODE END
588 6 }
589 5
590 5 CAN_HWOBJ[0].uwMSGCTR = 0xfdff; // reset NEWDAT
591 5 }
592 4
593 4 } // End of RXIPND0
594 3
595 3
596 3 CAN_HWOBJ[0].uwMSGCTR = 0xfffd; // reset INTPND
597 3
598 3 // USER CODE BEGIN (SRN0_OBJ0,6)
599 3
600 3 // USER CODE END
601 3
602 3 }
603 2
604 2
605 2 // USER CODE BEGIN (SRN0,3)
606 2
607 2 // USER CODE END
608 2
609 2
610 2 } // End of while()
611 1
C166 COMPILER V6.04, CAN 04/06/2009 22:15:28 PAGE 11
612 1 // USER CODE BEGIN (SRN0,7)
613 1
614 1 // USER CODE END
615 1
616 1 } // End of function CAN_viSRN0
617
618
619
620 // USER CODE BEGIN (CAN_General,10)
621
622 // USER CODE END
623
MODULE INFORMATION: INITIALIZED UNINITIALIZED
CODE SIZE = 1650 --------
NEAR-CONST SIZE = -------- --------
FAR-CONST SIZE = -------- --------
HUGE-CONST SIZE = -------- --------
XHUGE-CONST SIZE = -------- --------
NEAR-DATA SIZE = -------- --------
FAR-DATA SIZE = -------- --------
XHUGE-DATA SIZE = -------- --------
IDATA-DATA SIZE = -------- --------
SDATA-DATA SIZE = -------- --------
BDATA-DATA SIZE = -------- --------
HUGE-DATA SIZE = -------- --------
BIT SIZE = -------- --------
INIT'L SIZE = -------- --------
END OF MODULE INFORMATION.
C166 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -