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

📄 can.lst

📁 开发环境为keil166
💻 LST
📖 第 1 页 / 共 3 页
字号:
  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接收串口发送暂时关闭
  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)

⌨️ 快捷键说明

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