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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sja_bcanfunc.c

?? CAN控制器SJA1000的控制模塊BCAN
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
********************************************************************************************************************
**描述:    獨立的CAN 控制器SJA1000基本硬件頭文件定義(BasicCAN 工作方式)
**文件名:   SJA_BcanFunc.H
**應用語言: KEIL C51
**版本 :    V1.0
**廣州周立功單片機發展有限公司 保留所有的版權
********************************************************************************************************************
*/

 /*$page*/


#include    "SJA_BCANCONF.H"
#include    <string.h>




/************************************************************************
 *以下為基本的函數說明(BasicCAN)                                       *
 ************************************************************************/

/************************************************************************
 *函數原型:  bit   BCAN_CREATE_COMMUNATION(void)                        * 
 *參數說明:  無                                                         *
 *返回值:                                                               *
 *           0 ; 表示SJA1000接口正常                                    *
 *           1 ; 表示SJA1000與處理器接口不正常                          *
 *                                                                      * 
 *說明:該函數用于檢測CAN控制器的接口是否正常                            *
 ************************************************************************/
 bit   BCAN_CREATE_COMMUNATION(void)
 {  
    SJA_BCANAdr=REG_TEST;                     //訪問測試寄存器            
    
    *SJA_BCANAdr   =0xaa;                     //寫入測試值
    if(*SJA_BCANAdr == 0xaa)
    {
        return    0;                          //讀測試正確
    }
    else
    {    
       return    1;
    } 
 }       

/************************************************************************
 *函數原型:      bit   BCAN_ENTER_RETMODEL(void)                        *
 *參數說明:  無                                                         *
 *返回值:                                                               *
 *           0 ; 表示成功進入復位工作模式                               *
 *           1 ; 表示不能進入復位工作模式                               *
 *                                                                      * 
 *說明:      CAN控制器進入復位工作模式                                  *
 ************************************************************************/ 
 bit   BCAN_ENTER_RETMODEL(void)
 {
    unsigned   char   TempData;
    SJA_BCANAdr  = REG_CONTROL;                   //訪問地址指向控制寄存器 
    TempData=  *SJA_BCANAdr;                      //保存原始值
    *SJA_BCANAdr=(TempData|0x01);                 //置位復位請求
    if((*SJA_BCANAdr&0x01) == 1)
    {
       return   0;
    }
    else
    {
       return   1;
    }
    
 }

/************************************************************************
 *函數原型:      bit   BCAN_QUIT_RETMODEL(void)                         *
 *參數說明:  無                                                         *
 *返回值:                                                               *
 *           0 ; 表示成功退出復位工作模式                               *
 *           1 ; 表示不能退出復位工作模式                               *
 *                                                                      * 
 *說明:      CAN控制器退出復位工作模式                                  *
 ************************************************************************/ 
 bit   BCAN_QUIT_RETMODEL(void)
 {
    unsigned   char   TempData;
    SJA_BCANAdr = REG_CONTROL;                   //訪問地址指向控制寄存器 
    TempData    = *SJA_BCANAdr;                  //保存原始值
    *SJA_BCANAdr=(TempData&0xfe);       		 //清除復位請求
    if((*SJA_BCANAdr&0x01) == 0)
    {
       return   0;                               //
    }
    else
    {
       return   1;                              //退出成功
    }

 }

/************************************************************************
;*函數原型:   bit   BCAN_SET_BANDRATE(unsigned char CAN_ByteRate)       *
;*參數說明:  R7            波特率(Kbit/s) BTR0     BTR1               *
;*           0	            20              053H,    02FH                *
;*           1	            40              087H,    0FFH               *  
;*           2	            50              047H,    02FH               *
;*           3	            80              083H,    0FFH                *
;*           4	            100             043H,    02fH                *
;*           5	            125             03H,     01cH                 *
;*           6                         200             081H,    0faH               *
;*           7	            250             01H,     01cH            *
;*           8	            400             080H,    0faH                *
;*           9	            500             00H,     01cH               *
;*           10	            666             080H,    0b6H                 *
;*           11	            800             00H,     016H             *
;*           12	            1000            00H,     014H                  *
;*返回值:                                                               *
;*           0 ;波特率設置成功                                          *
;*           1 ;波特率設置失敗                                          *
;*                                                                      * 
;*說明:設置CAN控制器SJA1000通訊波特率.SJA1000的晶振為必須為16MHZ,       *
;*     其它晶體的頻率的值的波特率,需自己計算 。該子程序只能用于        *
;*     復位模式                                                         *  
;************************************************************************/
unsigned  char	code	SJA_BTR_CODETAB[]={
    0x53,0x2F,		              //   ;20KBPS的預設值
    0x87,0xFF,                     //;40KBPS的預設值
    0x47,0x2F,                     //;50KBPS的預設值
    0x83,0xFF,                     //;80KBPS的預設值
    0x43,0x2f,                     //;100KBPS的預設值
    0x03,0x1c,                     //;125KBPS的預設值
    0x81,0xfa,                     //;200KBPS的預設值
    0x01,0x1c,                     //;250KBPS的預設值
    0x80,0xfa,                     //;400KBPS的預設值
    0x00,0x1c,                     //;500KBPS的預設值
    0x80,0xb6,                     //;666KBPS的預設值
    0x00,0x16,                     //;800KBPS的預設值
    0x00,0x14                     //;1000KBPS的預設值
   
};

bit   BCAN_SET_BANDRATE(unsigned char CAN_ByteRate)
{
  unsigned  char  BTR0_num,BTR1_num;
  BTR0_num = SJA_BTR_CODETAB[CAN_ByteRate*2];
  BTR1_num = SJA_BTR_CODETAB[CAN_ByteRate*2+1];
  //將波特率的的預設值裝入sja1000的總線定時器
  SJA_BCANAdr=REG_BTR0;          		//訪問地址指向總線定時寄存器0
  *SJA_BCANAdr=BTR0_num;      			//寫入參數
  if(*SJA_BCANAdr != BTR0_num)			//校驗寫入值
  {
    return  1; 
  }
  SJA_BCANAdr=REG_BTR1;         		//訪問地址指向總線定時寄存器0
  *SJA_BCANAdr=BTR1_num;      			//寫入參數
  if(*SJA_BCANAdr != BTR1_num)			//校驗寫入值
  {
    return  1; 
  }

  return    0;
}  


/************************************************************************
;*函數原型:    BCAN_SET_OBJECT                                          *
*參數說明:                                                              *
 *    BCAN_ACR:存放驗收代碼寄存器(ACR)的參數設置                      *
 *    BCAN_AMR:存放接收屏蔽寄存器(AMR)的參數設置                      *
;*返回值:                                                               *
;*           0 ;通信對象設置成功                                        *
;*           1 ;通信對象設置失敗                                        *
;*                                                                      * 
;*說明:設置CAN節點的通訊對象,允許接收的報文ID號的高8位(D10--D3) 。     *
;*     允許接收的報文,是由AMR和ACR共同決定的.                           *  
;*    滿足以下條件的ID號的報文才可以被接收                              *
;*[(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)
{
   SJA_BCANAdr=REG_ACR;          		//訪問地址指向驗收代碼寄存器(ACR)
  *SJA_BCANAdr=BCAN_ACR;        		//寫入參數
  if(*SJA_BCANAdr != BCAN_ACR)  		//校驗寫入值
  {
    return  1; 
  }
  SJA_BCANAdr=REG_AMR;          		//訪問地址指向驗收屏蔽寄存器(AMR)
  *SJA_BCANAdr=BCAN_AMR;        		//寫入參數
  if(*SJA_BCANAdr != BCAN_AMR)  		//校驗寫入值
  {
    return  1; 
  }

  return    0;
}

/************************************************************************
;*函數原型: 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)
{
  SJA_BCANAdr=REG_OCR ;          		//訪問地址指向輸出控制寄存器
  *SJA_BCANAdr=Out_Control;      		//寫入參數
  if(*SJA_BCANAdr != Out_Control)		//校驗寫入值
  {
    return  1; 
  } 
  SJA_BCANAdr=REG_CDR;          		//訪問地址指向輸出控制寄存器
  *SJA_BCANAdr=Clock_Out;        		//寫入參數
  return    0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产色综合久久久蜜香臀| 免费观看30秒视频久久| 成人av在线播放网址| 中文字幕精品综合| 丁香桃色午夜亚洲一区二区三区| 欧美经典三级视频一区二区三区| 成人黄色免费短视频| 亚洲欧美乱综合| 欧美主播一区二区三区美女| 五月天一区二区| 精品国产麻豆免费人成网站| 成人亚洲精品久久久久软件| 亚洲免费av高清| 欧美精品一级二级| 精品一区二区三区在线播放| 国产亚洲自拍一区| 色呦呦一区二区三区| 亚洲成人在线网站| 精品美女在线播放| 成人黄动漫网站免费app| 亚洲精品免费在线播放| 欧美日韩成人综合在线一区二区 | 蜜桃91丨九色丨蝌蚪91桃色| 久久精品亚洲一区二区三区浴池 | 亚洲成年人影院| 欧美一区二区三区免费在线看| 国产一区二区电影| 亚洲人123区| 日韩三级视频在线看| 成人av综合在线| 午夜欧美电影在线观看| 欧美精品一区二区久久婷婷| 91香蕉国产在线观看软件| 日韩成人免费电影| 国产精品动漫网站| 欧美大尺度电影在线| 99久久久国产精品| 极品少妇一区二区| 亚洲一区影音先锋| 国产日韩欧美a| 欧美日本一道本| 成人白浆超碰人人人人| 麻豆精品国产91久久久久久| 亚洲精品自拍动漫在线| 久久精品一区蜜桃臀影院| 欧美日韩在线直播| 成人动漫av在线| 开心九九激情九九欧美日韩精美视频电影 | 中文字幕日韩一区二区| 91精品国产入口| 一本色道久久加勒比精品| 国产在线一区观看| 亚洲第一狼人社区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 国产福利精品导航| 日本视频在线一区| 亚洲午夜久久久| 国产精品高潮久久久久无| 精品美女在线播放| 91精品欧美综合在线观看最新| 白白色 亚洲乱淫| 国内精品不卡在线| 久久国产免费看| 日本中文字幕一区二区视频 | 国产精品影视网| 麻豆91精品91久久久的内涵| 一区二区成人在线观看| 国产精品萝li| 国产精品拍天天在线| 国产日产欧美一区二区视频| 日韩一级高清毛片| 制服丝袜在线91| 欧美精品高清视频| 欧美日韩激情一区二区三区| 91久久一区二区| 91福利精品第一导航| 一本大道av伊人久久综合| 99这里只有精品| 99久久精品国产一区二区三区| 国产精品羞羞答答xxdd| 国产精品系列在线播放| 国产xxx精品视频大全| 国产99久久久国产精品潘金网站| 国产精品原创巨作av| 国产成人一区在线| 成人动漫一区二区在线| 91污在线观看| 精品婷婷伊人一区三区三| 欧美丝袜丝nylons| 911国产精品| 日韩女优电影在线观看| 亚洲精品一区二区三区精华液| 久久久夜色精品亚洲| 国产精品人妖ts系列视频| 日本一区二区三区高清不卡| 国产精品免费久久久久| 亚洲卡通欧美制服中文| 日韩专区在线视频| 国产尤物一区二区| 成人网男人的天堂| 91视频你懂的| 91精品在线麻豆| 精品国产乱码久久久久久影片| 欧美激情综合五月色丁香| 国产精品久久久久久久久动漫| 亚洲男人电影天堂| 偷窥国产亚洲免费视频| 国产真实乱偷精品视频免| 成人蜜臀av电影| 欧美午夜精品电影| 26uuu欧美日本| 综合激情成人伊人| 日韩综合小视频| 成人精品高清在线| 欧美日韩一区二区三区四区| 欧美mv日韩mv国产网站app| 亚洲成av人片在www色猫咪| 麻豆91在线看| 色综合激情五月| 2021中文字幕一区亚洲| 一区二区成人在线| 国产专区综合网| 欧美日韩精品一区二区三区四区| 精品国产乱码久久久久久牛牛| 综合久久国产九一剧情麻豆| 蜜桃视频在线观看一区二区| 91看片淫黄大片一级| 欧美不卡激情三级在线观看| 亚洲欧美激情小说另类| 国产伦理精品不卡| 欧美日韩你懂得| 亚洲欧洲日产国产综合网| 日本不卡不码高清免费观看| 91丨porny丨国产入口| 精品国产乱码久久久久久久| 一区二区不卡在线播放 | 国产精品乱码人人做人人爱| 奇米精品一区二区三区在线观看| 成人国产精品免费观看视频| 日韩精品一区二区三区四区| 亚洲综合一区二区三区| 高清国产一区二区| 精品精品国产高清一毛片一天堂| 亚洲综合丝袜美腿| 成人动漫中文字幕| 久久久久青草大香线综合精品| 午夜精品久久久久久久99水蜜桃| 99久久精品国产导航| 国产亚洲美州欧州综合国| 秋霞午夜鲁丝一区二区老狼| 一本一道波多野结衣一区二区| 久久久噜噜噜久噜久久综合| 日本不卡不码高清免费观看| 欧美日韩一区不卡| 一区二区高清免费观看影视大全 | 成人黄色av网站在线| 久久综合五月天婷婷伊人| 日韩和欧美一区二区三区| 在线亚洲人成电影网站色www| 国产精品三级在线观看| 国产一区二区三区电影在线观看| 欧美一区二区免费视频| 天天影视色香欲综合网老头| 欧美日韩色综合| 亚洲一区二区三区中文字幕 | 国产大片一区二区| 久久久久九九视频| 国产一区二区不卡| 久久久不卡网国产精品二区| 国产麻豆成人传媒免费观看| 久久天天做天天爱综合色| 黑人巨大精品欧美黑白配亚洲| 日韩精品一区在线观看| 久久精品国产亚洲高清剧情介绍| 91精品国产美女浴室洗澡无遮挡| 亚洲va在线va天堂| 69堂精品视频| 久久国产麻豆精品| 精品人在线二区三区| 国产麻豆视频一区| 国产午夜精品久久久久久免费视 | 国产成人在线影院| 中文字幕欧美国产| 99国内精品久久| 亚洲一区电影777| 制服丝袜中文字幕亚洲| 美女精品一区二区| 国产片一区二区| 色综合久久天天| 日韩vs国产vs欧美| 久久综合九色综合欧美98 | 成人app网站| 一区二区在线观看视频| 欧美日韩免费一区二区三区视频| 日韩电影在线观看电影| 亚洲精品一区二区三区香蕉| 99综合影院在线| 婷婷成人激情在线网| 久久婷婷一区二区三区| gogo大胆日本视频一区|