www.pudn.com > can¡ª¡ªSJA1000.rar > SJA_BCANCONF.h


/************************************************************************ 
 *   ¹ãÖÝÖÜÁ¢¹¦µ¥Æ¬»ú·¢Õ¹ÓÐÏÞ¹«Ë¾    http://www.zlgmcu.com              * 
 ***********************************************************************/ 
/************************************************************************ 
 *                                                                      * 
 *  CAN ¿ØÖÆÆ÷SJA1000»ù±¾µÄÓ²¼þ¶¨Òå(BasicCAN ¹¤×÷·½Ê½£©                 * 
 *                                                                      * 
 ***********************************************************************/ 
/************************************************************************ 
 *                                                                      * 
 *  Ä¿µÄ:       SJA1000»ù±¾¼Ä´æÆ÷\¹¦ÄÜ붨Ò壬±ãÓÚÓû§Ê¹ÓÃSJA1000ʱ     *                                        
 *              Ö»Ðè×÷ÓëÆäÓ²¼þϵͳÏàÊʺϵļòµ¥µÄÐ޸쬱ãÄÜʵÏÖSJA1000µÄ * 
 *              BasicCAN¹¤×÷·½Ê½µÄ¹¦ÄÜ                                  * 
 *                                                                      * 
 *  ÎļþÃû:     SJA_BCANCONF.H                                        * 
 *                                                                      * 
 *  Ä£¿éÃû:     --                                                      * 
 *                                                                      * 
 *  Ä¿±êϵͳ:   ÈκλùÓÚÈκμæÈÝ8051Ö¸ÁîµÄ΢´¦ÀíÆ÷ͬSJA1000×é³ÉµÄCAN    * 
 *              ϵͳ                                                    * 
 *                                                                      * 
 *  Ó¦ÓÃÓïÑÔ:   Keil C51                                                * 
 *                                                                      * 
 ************************************************************************ 
 *  °æ±¾ :V1.0                                                          * 
 *                                                                      * 
 ************************************************************************ 
 *  ¹ãÖÝÖÜÁ¢¹¦µ¥Æ¬»ú·¢Õ¹ÓÐÏÞ¹«Ë¾ ±£ÁôËùÓеİæÈ¨                         * 
 ************************************************************************/ 
#ifndef         BasicCAN  
#define         BasicCAN 
 
 
/************************************************************************ 
 *SJA1000Óë΢´¦ÀíÆ÷µÄ½Ó¿ÚÊÇÒÔÍⲿ´æ´¢Æ÷µÄ·½Ê½£¬ËùÒÔÒÔϵĻùÖ·¶¨Ò壬Óû§ * 
 *Ó¦¸ù¾Ý×Ô¼ºµÄʵ¼Êµç·À´½øÐе÷Õû                                        * 
 ************************************************************************/ 
#define         SJA_BaseAdr       0x6000     //¶¨Òåsja1000µÄƬѡ»ùÖ· 
 
//¼ÆËãSJA1000ÔÚµç·ÖеÄʵ¼ÊµØÖ·:»ùÖ·+ÄÚ²¿¼Ä´æÆ÷µØÖ· 
 
/************************************************************************ 
 * ÒÔÏµĶ¨ÒåΪSJA1000µÄÄÚ²¿¼Ä´æÆ÷µÄµØÖ·£¬²»¿ÉÐÞ¸Ä                      * 
 *     ¸÷¼Ä´æÆ÷µÄ¾ßÌ幦ÄÜÇå²ÎÔÄsja1000µÄÊý¾ÝÊÖ²á                        * 
 ************************************************************************/ 
#define         REG_CONTROL       SJA_BaseAdr+0x00       //ÄÚ²¿¿ØÖƼĴæÆ÷ 
 
#define         REG_COMMAND       SJA_BaseAdr+0x01       //ÃüÁî¼Ä´æÆ÷ 
 
#define         REG_STATUS        SJA_BaseAdr+0x02       //״̬¼Ä´æÆ÷ 
 
#define         REG_INTERRUPT     SJA_BaseAdr+0x03       //ÖжϼĴæÆ÷ 
 
#define			REG_IER			  SJA_BaseAdr+0x04		 //ÖжÏʹÄܼĴæÆ÷ 
 
#define         REG_ACR           SJA_BaseAdr+0x10       //ÑéÊÕ´úÂë¼Ä´æÆ÷ 
 
#define         REG_AMR           SJA_BaseAdr+0x14       //ÑéÊÕÆÁ±Î¼Ä´æÆ÷ 
 
#define         REG_BTR0          SJA_BaseAdr+0x06       //×ÜÏß¶¨Ê±¼Ä´æÆ÷0  
 
#define         REG_BTR1          SJA_BaseAdr+0x07       //×ÜÏß¶¨Ê±¼Ä´æÆ÷1  
 
#define         REG_OCR           SJA_BaseAdr+0x08       //Êä³ö¿ØÖƼĴæÆ÷ 
 
#define         REG_TEST          SJA_BaseAdr+0x09       //²âÊԼĴæÆ÷ 
 
#define 		REG_EMLR 		  SJA_BaseAdr+0x0d		 //³ö´í±¨¾¯½çÏ޼ĴæÆ÷ 
   
 
//ÒÔÏÂΪ·¢ËÍ»º³åÇø¼Ä´æÆ÷¶¨Òå 
 
#define         REG_TxBuffer1     SJA_BaseAdr+0x10         //·¢ËÍ»º³åÇø1 
#define         REG_TxBuffer2     SJA_BaseAdr+0x11         //·¢ËÍ»º³åÇø2 
#define         REG_TxBuffer3     SJA_BaseAdr+0x12         //·¢ËÍ»º³åÇø3 
#define         REG_TxBuffer4     SJA_BaseAdr+0x13         //·¢ËÍ»º³åÇø4 
#define         REG_TxBuffer5     SJA_BaseAdr+0x14         //·¢ËÍ»º³åÇø5 
#define         REG_TxBuffer6     SJA_BaseAdr+0x15         //·¢ËÍ»º³åÇø6 
#define         REG_TxBuffer7     SJA_BaseAdr+0x16         //·¢ËÍ»º³åÇø7 
#define         REG_TxBuffer8     SJA_BaseAdr+0x17         //·¢ËÍ»º³åÇø8 
#define         REG_TxBuffer9     SJA_BaseAdr+0x18         //·¢ËÍ»º³åÇø9 
#define         REG_TxBuffer10    SJA_BaseAdr+0x19         //·¢ËÍ»º³åÇø10 
#define         REG_TxBuffer11    SJA_BaseAdr+0x1a         //·¢ËÍ»º³åÇø11 
 
//ÒÔÏÂΪ½ÓÊÕ»º³åÇø¼Ä´æÆ÷¶¨Òå 
#define         REG_RxBuffer1     SJA_BaseAdr+0x10         //½ÓÊÕ»º³åÇø1 
#define         REG_RxBuffer2     SJA_BaseAdr+0x11         //½ÓÊÕ»º³åÇø2 
#define         REG_RxBuffer3     SJA_BaseAdr+0x12         //½ÓÊÕ»º³åÇø3 
#define         REG_RxBuffer4     SJA_BaseAdr+0x13         //½ÓÊÕ»º³åÇø4 
#define         REG_RxBuffer5     SJA_BaseAdr+0x14         //½ÓÊÕ»º³åÇø5 
#define         REG_RxBuffer6     SJA_BaseAdr+0x15         //½ÓÊÕ»º³åÇø6 
#define         REG_RxBuffer7     SJA_BaseAdr+0x16         //½ÓÊÕ»º³åÇø7 
#define         REG_RxBuffer8     SJA_BaseAdr+0x17         //½ÓÊÕ»º³åÇø8 
#define         REG_RxBuffer9     SJA_BaseAdr+0x18         //½ÓÊÕ»º³åÇø9 
#define         REG_RxBuffer10    SJA_BaseAdr+0x19         //½ÓÊÕ»º³åÇø10 
#define         REG_RxBuffer11    SJA_BaseAdr+0x1a         //½ÓÊÕ»º³åÇø11 
 
/************************************************************************ 
 *ÄÚ²¿µØÖ· 01EH ±¸Óà                                                    * 
 ************************************************************************/ 
 
/************************************************************************ 
 *ʱÖÓ·ÖÆµ¼Ä´æÆ÷(ÄÚ²¿µØÖ·01FH)                                          * 
 ************************************************************************/ 
#define         REG_CDR           SJA_BaseAdr+0x1F          //ʱÖÓ·ÖÆµ¼Ä´æÆ÷ 
 
/************************************************************************ 
 *¶¨ÒåÖ¸Õë                                                              * 
 ************************************************************************/ 
 unsigned        char       xdata  *SJA_BCANAdr;     
 
/************************************************************************ 
 *¶¨ÒåÃüÁî×Ö                                                            * 
 ************************************************************************/  
#define         TR_CMD           0x01          //·¢ËÍÇëÇóÃüÁî 
#define			SRR_CMD			 0x12		   //×Ô½ÓÊÕÇëÇó	 
#define         AT_CMD           0x02          //زÕÛ·¢ËÍÃüÁî 
#define         RRB_CMD          0x04          //ÊͷŽÓÊÕ»º³åÇø 
#define         COS_CMD          0x08          //Çå³ý³¬ÔØ×´Ì¬ 
//#define         GTS_CMD          0x10          //½øÈë˯Ãß״̬ÃüÁî   
 
/************************************************************************ 
 *¶¨Òå12MµÄ¾§ÌåÏ£¬CAN×ÜÏß²¨ÌØÂÊ                                        * 
 ************************************************************************/ 
#define         ByteRate_20k      0x00          //²¨ÌØÂÊ20kbps 
#define         ByteRate_40k      0x01          //²¨ÌØÂÊ40kbps 
#define         ByteRate_50k      0x02          //²¨ÌØÂÊ50kbps 
#define         ByteRate_80k      0x03          //²¨ÌØÂÊ80kbps 
#define         ByteRate_100k     0x04          //²¨ÌØÂÊ100kbps 
#define         ByteRate_125k     0x05          //²¨ÌØÂÊ125kbps 
#define         ByteRate_200k     0x06          //²¨ÌØÂÊ200kbps 
#define         ByteRate_250k     0x07          //²¨ÌØÂÊ250kbps 
#define         ByteRate_400k     0x08          //²¨ÌØÂÊ400kbps 
#define         ByteRate_500k     0x09          //²¨ÌØÂÊ500kbps 
#define         ByteRate_666k     0x0a          //²¨ÌØÂÊ666kbps 
#define         ByteRate_800k     0x0b          //²¨ÌØÂÊ800kbps 
#define         ByteRate_1000k    0x0c          //²¨ÌØÂÊ1000kbps 
 
/*------------------------------------------------------------------------------------------- 
 *  ÒÔÏÂΪBASICCAN SJA1000µÄ´íÎó×Ö                                                          * 
 -------------------------------------------------------------------------------------------*/ 
#define     CAN_INTERFACE_0K    0                                                        /*SJA1000½Ó¿ÚÕý³£                       */ 
#define     CAN_BUS_0K          0                                                       /*CAN×ÜÏß¹¤×÷Õý³£                       */ 
#define     CAN_INTERFACE_ERR   0XFF                                                    /*SJA1000½Ó¿Ú´íÎó£                      */ 
#define     CAN_ENTRESET_ERR    0XFE                                                    /*SJA1000²»ÄܽøÈ븴λģʽ   */ 
#define     CAN_QUITRESET_ERR   0XFD                                                    /*SJA1000²»ÄÜÍ˳ö¸´Î»Ä£Ê½       */ 
#define     CAN_INITOBJECT_ERR  0XFC                                                    /*³õʼ»¯±¨ÎÄÑéÊÕÂ˲¨Æ÷´í    */ 
#define     CAN_INITBTR_ERR     0XFB                                                    /*³õʼ»¯×ÜÏß¶¨Ê±Æ÷Æ÷´í          */ 
#define     CAN_INITOUTCTL_ERR  0XFA                                                    /*³õʼ»¯Êä³ö¿ØÖÆ´íÎó            */ 
#define     CAN_INTCLKDIV_ERR   0XF9                                                    /*³õʼ»¯Ê±ÖÓ·ÖÆµ¿ØÖÆÆ÷´í        */ 
#define     CAN_BUS_ERR         0XF8                                                    /*SJA1000·¢ËÍÊý¾Ý´í                     */ 
 
#define     NO_BANDRATE_SIZE    0xe7 
 
/************************************************************************ 
 *ÒÔÏÂΪ»ù±¾µÄº¯Êý˵Ã÷£¨BasicCAN)                                       * 
 ************************************************************************/ 
 
/************************************************************************ 
 *º¯ÊýÔ­ÐÍ:  bit   BCAN_CREATE_COMMUNATION(void)                        *  
 *²ÎÊý˵Ã÷:  ÎÞ                                                         * 
 *·µ»ØÖµ:                                                               * 
 *           0 ; ±íʾSJA1000½Ó¿ÚÕý³£                                    * 
 *           1 ; ±íʾSJA1000Óë´¦ÀíÆ÷½Ó¿Ú²»Õý³£                          * 
 *                                                                      *  
 *˵Ã÷:¸Ãº¯ÊýÓÃÓÚ¼ì²âCAN¿ØÖÆÆ÷µÄ½Ó¿ÚÊÇ·ñÕý³£                            * 
 ************************************************************************/ 
 bit   BCAN_CREATE_COMMUNATION(void);       
 
/************************************************************************ 
 *º¯ÊýÔ­ÐÍ:      bit   BCAN_ENTER_RETMODEL(void)                            * 
 *²ÎÊý˵Ã÷:  ÎÞ                                                         * 
 *·µ»ØÖµ:                                                               * 
 *           0 ; ±íʾ³É¹¦½øÈ븴λ¹¤×÷ģʽ                               * 
 *           1 ; ±íʾ²»ÄܽøÈ븴λ¹¤×÷ģʽ                               * 
 *                                                                      *  
 *˵Ã÷:      CAN¿ØÖÆÆ÷½øÈ븴λ¹¤×÷ģʽ                                  * 
 ************************************************************************/  
 bit   BCAN_ENTER_RETMODEL(void); 
 
/************************************************************************ 
 *º¯ÊýÔ­ÐÍ:      bit   BCAN_QUIT_RETMODEL(void)                             * 
 *²ÎÊý˵Ã÷:  ÎÞ                                                         * 
 *·µ»ØÖµ:                                                               * 
 *           0 ; ±íʾ³É¹¦Í˳ö¸´Î»¹¤×÷ģʽ                               * 
 *           1 ; ±íʾ²»ÄÜÍ˳ö¸´Î»¹¤×÷ģʽ                               * 
 *                                                                      *  
 *˵Ã÷:      CAN¿ØÖÆÆ÷Í˳ö¸´Î»¹¤×÷ģʽ                                  * 
 ************************************************************************/  
 bit   BCAN_QUIT_RETMODEL(void); 
 
/************************************************************************ 
;*º¯ÊýÔ­ÐÍ:   bit   BCAN_SET_BANDRATE(unsigned char CAN_ByteRate)       * 
;*²ÎÊý˵Ã÷:  CAN_ByteRate    ²¨ÌØÂÊ£¨Kbit/s£© BTR0     BTR1             * 
;*           0              5                 0EFH     0FFH             * 
;*           1              10                0D7H     0FFH             *   
;*           2              20                0CBH     0FFH             * 
;*           3              40                0C5H     0FFH             * 
;*           4              50                0C9H     0A7H             * 
;*           5              80                0C2H     0FFH             * 
;*           6              100               04H      0A7H             * 
;*           7              200               02H      025H             * 
;*           8              250               01H      045H             * 
;*           9              300               01H      025H             * 
;*           10             500               01H      012H             * 
;*           11             600               00H      025H             * 
;*           12             1000              00H      012H             * 
;*·µ»ØÖµ:                                                               * 
;*           0 ;²¨ÌØÂÊÉèÖóɹ¦                                          * 
;*           1 ;²¨ÌØÂÊÉèÖÃʧ°Ü                                          * 
;*                                                                      *  
;*˵Ã÷:ÉèÖÃCAN¿ØÖÆÆ÷SJA1000ͨѶ²¨ÌØÂÊ.SJA1000µÄ¾§ÕñΪ±ØÐëΪ12MHZ,       * 
;*     ÆäËü¾§ÌåµÄƵÂʵÄÖµµÄ²¨ÌØÂÊ£¬Ðè×Ô¼º¼ÆËã ¡£¸Ã×Ó³ÌÐòÖ»ÄÜÓÃÓÚ        * 
;*     ¸´Î»Ä£Ê½                                                         *   
;************************************************************************/ 
bit   BCAN_SET_BANDRATE(unsigned char CAN_ByteRate); 
 
/************************************************************************ 
;*º¯ÊýÔ­ÐÍ:   bit    BCAN_SET_OBJECT(unsigned char  BCAN_ACR,         * 
                                     unsigned char  BCAN_AMR)           * 
*²ÎÊý˵Ã÷:                                                              * 
 *    BCAN_ACR:´æ·ÅÑéÊÕ´úÂë¼Ä´æÆ÷£¨ACR£©µÄ²ÎÊýÉèÖà                      * 
 *    BCAN_AMR:´æ·Å½ÓÊÕÆÁ±Î¼Ä´æÆ÷£¨AMR£©µÄ²ÎÊýÉèÖà                      * 
;*·µ»ØÖµ:                                                               * 
;*           0 ;ͨÐŶÔÏóÉèÖóɹ¦                                        * 
;*           1 ;ͨÐŶÔÏóÉèÖÃʧ°Ü                                        * 
;*                                                                      *  
;*˵Ã÷:ÉèÖÃCAN½ÚµãµÄͨѶ¶ÔÏó£¬ÔÊÐí½ÓÊյı¨ÎÄIDºÅµÄ¸ß8λ(D10--D3) ¡£     * 
;*     ÔÊÐí½ÓÊյı¨ÎÄ,ÊÇÓÉAMRºÍACR¹²Í¬¾ö¶¨µÄ.                           *   
;*    Âú×ãÒÔÏÂÌõ¼þµÄIDºÅµÄ±¨ÎIJſÉÒÔ±»½ÓÊÕ                              * 
;*[£¨ID.10-ID.3£©¡Ô£¨AC.7-AC.0£©]||£¨AM.7-AM.0£©¡Ô11111111              * 
;*    ¸Ã×Ó³ÌÐòÖ»ÄÜÓÃÓÚ¸´Î»Ä£Ê½                                          *                                                                                                                     *              
;************************************************************************/ 
bit    BCAN_SET_OBJECT(unsigned char  BCAN_ACR,unsigned char  BCAN_AMR); 
 
/************************************************************************ 
;*º¯ÊýÔ­ÐÍ: bit  BCAN_SET_OUTCLK (unsigned char Out_Control,            * 
                                  unsigned char  Clock_Out);            * 
;*²ÎÊý˵Ã÷:                                                                                   * 
 *    Out_Control:´æ·ÅÊä³ö¿ØÖƼĴæÆ÷ (OC)  µÄ²ÎÊýÉèÖà                   * 
 *    Clock_Out:´æ·ÅʱÖÓ·ÖÆµ¼Ä´æÆ÷ (CDR) µÄ²ÎÊýÉèÖà                     * 
 *                                                                      *    
;*·µ»ØÖµ:                                                               * 
;*           0 ;ÉèÖóɹ¦                                                * 
;*           1 ;ÉèÖÃʧ°Ü                                                * 
;*                                                                      *  
;*˵Ã÷:ÉèÖÃSJA1000µÄÊä³öģʽºÍʱÖÓ·ÖÆµ ¡£¸Ã×Ó³ÌÐòÖ»ÄÜÓÃÓÚ¸´Î»Ä£Ê½       *                                                                                                                     *              
;************************************************************************/ 
bit  BCAN_SET_OUTCLK (unsigned char Out_Control,     
                     unsigned char  Clock_Out);       
 
/************************************************************************ 
 *º¯ÊýÔ­ÐÍ: bit   BCAN_HW_INIT(unsigned char  BCAN_ACR,                 * 
 *                                       unsigned char  BCAN_AMR,       * 
 *                                       unsigned char  Bus_Timing0,    * 
 *                                       unsigned char  Bus_Timing1,    * 
 *                                       unsigned char  Out_Control,    * 
 *                                       unsigned char  Clock_Out       * 
 *                                       )                              * 
 *²ÎÊý˵Ã÷:                                                             * 
 *    BCAN_ACR:´æ·ÅÑéÊÕ´úÂë¼Ä´æÆ÷£¨ACR£©µÄ²ÎÊýÉèÖà                      * 
 *    BCAN_AMR:´æ·Å½ÓÊÕÆÁ±Î¼Ä´æÆ÷£¨AMR£©µÄ²ÎÊýÉèÖà                      * 
 *    Bus_Timing0:´æ·Å×ÜÏß¶¨Ê±0¼Ä´æÆ÷(BTR0)µÄ²ÎÊýÉèÖà                   * 
 *    Bus_Timing1:´æ·Å×ÜÏß¶¨Ê±1¼Ä´æÆ÷(BTR1)µÄ²ÎÊýÉèÖà                   * 
 *    Out_Control:´æ·ÅÊä³ö¿ØÖƼĴæÆ÷ (OC)  µÄ²ÎÊýÉèÖà                   * 
 *    Clock_Out:´æ·ÅʱÖÓ·ÖÆµ¼Ä´æÆ÷ (CDR) µÄ²ÎÊýÉèÖà                     * 
 *                                                                      *                         
 *·µ»ØÖµ:                                                               * 
 *           0 ; ±íʾ³õʼ»¯³É¹¦                                         * 
 *           1 ; ±íʾ³õʼ»¯Ê§°Ü                                         * 
 *                                                                      *  
 *˵Ã÷:CAN¿ØÖÆÆ÷µÄ³õʼ»¯Ö»ÄÜÔÚ¸´Î»Ä£Ê½Ï²ÅÄÜÍê³É¡£³õʼ»¯²Ù×÷֮ǰÇëÏȽøÈë* 
 *     µ½¸´Î»²Ù×÷ģʽ,²¢½«Òª³õʼ»¯µÄ¸÷²ÎÊýµÄÖµ°´Êý¾ÝÊÖ²áÖеļÆËã·½·¨,Õý * 
 *     È·µÄ°´Êµ¼ÊÐèÒª¼ÆËãºÃ²ÎÊýºó£¬½«²ÎÊýдÈë¶ÔÓ¦µÄ¼Ä´æÆ÷ ¡£            * 
 *×¢£º ΪÁËCAN¿ØÖÆÆ÷µÄÕýÈ·ÔËÐУ¬ÇëÎñ±Ø×ÐϸµÄÔĶÁSJA1000µÄÊý¾ÝÊÖ²á       * 
 *                                                                      * 
 *ʾÀý£ºÉèÓ¦ÓÃϵͳÖо§Ì寵ÂÊ16MHZ£¬½ÚµãÖ»½ÓÊÕID(±êÖ¾·û£©¸ß°ËλΪ        * 
 *      '10101010'µÄÏûÏ¢£¬ÏµÍ³²¨ÌØÂÊΪ50Kbit/s,¹Ø±ÕCLKOUTÊä³ö¡£         * 
 *      Ôò¸ù¾ÝÊý¾ÝÊÖ²áÖеļÆËã·½·¨µÄ¸÷²ÎÊýÈçÏ£º                        * 
 *      ACR==0AAH,AMR==00H,BTR0==0C9H,BTR1==0C9H,OC==0FFH,CDR=48H       * 
 * Ôòµ÷Óñ¾º¯ÊýΪ£º                                                     * 
 *     BCAN_HW_INIT(0xaa,0x00,0xc9,0xc9,0xff,0x48)                      *                      
 ************************************************************************/ 
 bit             BCAN_HW_INIT(unsigned char  BCAN_ACR,        
                              unsigned char  BCAN_AMR,       
                              unsigned char  Bus_Timing0,    
                              unsigned char  Bus_Timing1,    
                              unsigned char  Out_Control,     
                              unsigned char  Clock_Out       
                              ) ;                          
 
/************************************************************************ 
 *º¯ÊýÔ­ÐÍ:  bit   BCAN_DATA_WRITE(unsigned char *SendDataBuf) 			* 
 *²ÎÊý˵Ã÷:  ÌØ¶¨Ö¡¸÷ʽµÄÊý¾Ý·                                          * 
 *·µ»ØÖµ:                                                               * 
 *           0    ; ±íʾ½«Êý¾Ý³É¹¦µÄËÍÖÁ·¢ËÍ»º³åÇø                      * 
 *           1	  ; ±íʾÉÏÒ»´ÎµÄÊý¾ÝÕýÔÚ·¢ËÍ£¬                          * 
 *           	  ; ±íʾ·¢ËÍ»º³åÇø±»Ëø¶¨£¬²»ÄÜдÈëÊý¾Ý                  * 
 *            	  ;±íʾдÈëÊý¾Ý´íÎó                                    *  
 *˵Ã÷: ½«´ý·¢ËÍÌØ¶¨Ö¡¸÷ʽµÄÊý¾Ý£¬ËÍÈëSJA1000·¢ËÍ»º´æÇøÖУ¬È»ºóÆô¶¯     * 
 *        SJA1000·¢ËÍ¡£                                                 * 
 *   ÌØ¶¨Ö¡¸ñʽΪ:¿ªÊ¼µÄÁ½¸ö×Ö½Ú´æ·Å 'ÃèÊö·û' ,ÒÔºóµÄΪÊý¾Ý             * 
 *   ÃèÊö·û°üÀ¨11볤µÄID(±êÖ¾·û£©\1λRTR\4λÃèÊöÊý¾Ý³¤¶ÈµÄDLC¹²16λ    * 
 *                                                                      * 
 *×¢£º±¾º¯ÊýµÄ·µ»ØÖµ½öָʾ£¬½«Êý¾ÝÕýȷдÈëSJA1000·¢ËÍ»º´æÇøÖÐÓë·ñ¡£     * 
 *    ²»Ö¸Ê¾SJA1000½«¸ÃÊý¾ÝÕýÈ··¢Ë͵½CAN×ÜÏßÉÏÍê±ÏÓë·ñ                  * 
 ************************************************************************/  
 bit   BCAN_DATA_WRITE(unsigned char *SendDataBuf); 
  
/************************************************************************ 
 *º¯ÊýÔ­ÐÍ:  bit    BCAN_DATA_RECEIVE(unsigned char *RcvDataBuf);       * 
 *²ÎÊý˵Ã÷:  RcvDataBuf,´æ·Å΢´¦ÀíÆ÷±£´æÊý¾Ý»º³åÇø                      * 
 *·µ»ØÖµ:    0;½ÓÊճɹ¦                                                 * 
 *           1;½ÓÊÕʧ°Ü                                                 *  
 *˵Ã÷:CAN¿ØÖÆÆ÷½ÓÊÕÊý¾Ý,½öÏÞÓÚ½ÓÊÕÊý¾Ý                                 * 
 ************************************************************************/ 
 bit    BCAN_DATA_RECEIVE(unsigned char *RcvDataBuf); 
 
/************************************************************************ 
 *º¯ÊýÔ­ÐÍ:  unsigned char  BCAN_CMD_PRG(unsigned char cmd)             * 
 *²ÎÊý˵Ã÷:  cmd:sja1000ÔËÐеÄÃüÁî×Ö                                    * 
 *             01:·¢ËÍÇëÇó                                              * 
 *             02£ºÖÐÖ¹·¢ËÍ                                             * 
 *             04£ºÊͷŽÓÊÕ»º³åÇø                                       * 
 *             08£ºÇå³ý³¬ÔØ×´Ì¬                                         * 
 *             0x10:½øÈë˯Ãß״̬                                        * 
 *                                                                      * 
 *·µ»ØÖµ:                                                               * 
 *           0 ; ±íʾÃüÁîÖ´Ðгɹ¦                                       * 
 *           1 ; ±íʾÃüÁîÖ´ÐÐʧ°Ü                                       * 
 *                                                                      *  
 *˵Ã÷:      Ö´ÐÐsja1000ÃüÁî                                            *  
 ************************************************************************/  
 bit  BCAN_CMD_PRG(unsigned char cmd); 
 
 
 
 bit  BCAN_SET_MOD(void); 
 
#endif