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

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

?? sja1000.c

?? 介紹關于can總線的實驗程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
//-----------------------函數聲明,變量定義--------------------------------------------------------
#include <reg52.h>
sbit  int0 = P3^2;
//-----------------------定義尋址的基址--------------------------------------------------------
#define base_Adr 0x00   
//-----------------------定義總線定時寄存器的值--------------------------------------------------------
#define SJA_BTR0 0x00                                  //該值需要用戶根據實際需要的波特率進行計算
#define SJA_BTR1 0x16                                  //具體計算見文章說明
//-----------------------設置接收報文類型(標示符)--------------------------------------------------------
                                                      //該值需要用戶根據實際需要重新配置
#define SJA_ACR 0x00                                  //驗收代碼寄存器的值
#define SJA_AMR 0x16                                  //驗收屏蔽寄存器的值
//-----------------------設置輸出始終類型--------------------------------------------------------
                                                      //該值需要用戶根據實際需要重新配置
#define SJA_OCR 0x00                                  //輸出控制寄存器的值
#define SJA_CDR 0x16                                  //始終分頻寄存器的值
//-----------------------設置SJA中斷,1為開中斷--------------------------------------------------------
#define SJA_OIE 0                                    //溢出中斷
#define SJA_EIE 0                                    //錯誤中斷
#define SJA_TIE 0                                    //發送中斷
#define SJA_RIE 0                                    //接收中斷
//-----------------------定義地址指針,指向基址--------------------------------------------------------
unsigned char xdata *SJA_base_Adr = base_Adr;
//-----------------------定義硬件故障標志位--------------------------------------------------------
bit bdata    connect_OK=0;                            //connect_OK=1設備連接正常
                                                      //connect_OK=0設備連接故障
//-----------------------定義硬件故障標志位--------------------------------------------------------
bit bdata    SJA_workmode=1;                          //SJA_workmode=1SJA工作在工作模式
                                                      //SJA_workmode=0工作在復位模式
//-----------------------定義SJA1000讀寫緩沖區的數據結構--------------------------------------------------------
struct BASICCAN_BUFstruct{
               unsigned char FrameID_H;
               unsigned char FrameLENTH ;
			   unsigned char FrameKIND  ;
			   unsigned char FrameID_L3 ;
			   unsigned char Frame_Data[8];
			   }BASICCAN_FRAME,receive_BUF,send_BUF;
//BASICCAN_BUFstruct send_BUF;
//------------------------------------------------------------------------------------------------------
// 函數類別 SJA1000基本操作
// 函數名稱 CANREG_write
// 入口函數 SJAREG_ADR,setting
// 出口函數 無
// 函數功能 寫SJA1000的寄存器
//------------------------------------------------------------------------------------------------------
void CANREG_write(unsigned char SJAREG_ADR, unsigned char setting)
           {
                    *(SJA_base_Adr+SJAREG_ADR)=setting;
            }
//------------------------------------------------------------------------------------------------------
// 函數類別 SJA1000基本操作
// 函數名稱 CANREG_write
// 入口函數 SJAREG_ADR
// 出口函數 SJAREG_data
// 函數功能 讀SJA1000的寄存器
//------------------------------------------------------------------------------------------------------
unsigned char CANREG_read(unsigned char SJAREG_ADR)
{
unsigned char SJAREG_data;
SJAREG_data=*(SJA_base_Adr+SJAREG_ADR);
return(SJAREG_data);
}
//------------------------------------------------------------------------------------------------------
// 函數類別   SJA1000基本操作
// 函數名稱   SJAconnect_judge
// 入口函數   無
// 出口函數   無
// 全局變量   connect_OK
// 操作寄存器 測試寄存器(地址09)
// 函數功能   判斷SJA1000與控制器連接是否正常
//------------------------------------------------------------------------------------------------------
void SJAconnect_judge(void)
{
   CANREG_write(0x09,0xAA);                //寫AA到測試寄存器(地址09)
   if(CANREG_read(0x09)==0xAA)
    {
     connect_OK=1;                         //連接正常 
     }
	else 
	{
	connect_OK=0;                         //連接故障
	}  
}

//------------------------------------------------------------------------------------------------------
// 函數類別   SJA1000基本操作
// 函數名稱   setting_SJA_resetmode
// 入口函數   無
// 出口函數   無
// 全局變量   SJA_workmode
// 操作寄存器 控制寄存器(地址00)
// 函數功能   設置SJA工作在復位模式
//------------------------------------------------------------------------------------------------------
void setting_SJA_resetmode(void)
{
unsigned char CONTROL_REGdata;  
CONTROL_REGdata=CANREG_read(0x00);
CONTROL_REGdata=CONTROL_REGdata|0x01;
     CANREG_write(0x00,CONTROL_REGdata);
     if((CANREG_read(0x00)&0x01)==1) 
	    {
         SJA_workmode=0;                        //置復位模式成功
		}
	 else 
	   {
       	SJA_workmode=1;                         //置復位模式失敗
	    }  
}

//------------------------------------------------------------------------------------------------------
// 函數類別   SJA1000基本操作
// 函數名稱   setting_SJA_resetmode
// 入口函數   無
// 出口函數   無
// 全局變量   SJA_workmode
// 操作寄存器 控制寄存器(地址00)
// 函數功能   設置SJA工作在正常工作模式
//------------------------------------------------------------------------------------------------------
void setting_SJA_workingmode(void)
{
unsigned char CONTROL_REGdata;  
CONTROL_REGdata=CANREG_read(0x00);
CONTROL_REGdata=CONTROL_REGdata&0xFE;
     CANREG_write(0x00,CONTROL_REGdata);
     if((CANREG_read(0x00)&0x01)==0) 
	    {
         SJA_workmode=1;                        //置工作模式成功
		}
	 else 
	   {
       	SJA_workmode=0;                         //置工作模式失敗
	    }  
}
//------------------------------------------------------------------------------------------------------
// 函數類別   SJA1000基本操作
// 函數名稱   setting_SJA_rate
// 入口函數   SJA_BTR0,SJA_BTR1
// 出口函數   setting_success
// 操作寄存器 總線定時寄存器BTR1(地址07)和BTR0(地址06)
// 函數功能   設置SJA波特率
// 特殊要求   只能在復位工作模式下設置
//------------------------------------------------------------------------------------------------------
bit setting_SJA_rate(void)
{
bit setting_success;  
while(SJA_workmode)
      {
	  setting_SJA_resetmode();                   //設置SJA工作在復位模式
	  }
     CANREG_write(0x06,SJA_BTR0);
	 CANREG_write(0x07,SJA_BTR1);
     if((CANREG_read(0x06)==SJA_BTR0)&(CANREG_read(0x07)==SJA_BTR1))
	    {
         setting_success=1;                        //波特率設置成功
		}
	 else 
	   {
       	setting_success=0;                         //波特率設置失敗
	    }  
return(setting_success);
}

//------------------------------------------------------------------------------------------------------
// 函數類別   SJA1000基本操作
// 函數名稱   setting_SJA_dataselect
// 入口函數   SJA_ACR,SJA_AMR
// 出口函數   setting_success
// 操作寄存器 驗收代碼寄存器ACR(地址04)和驗收屏蔽寄存器AMR(地址05)
// 函數功能   設置SJA接收數據類型
// 特殊要求   只能在復位工作模式下設置
//------------------------------------------------------------------------------------------------------
bit setting_SJA_dataselect(void)
{
bit setting_success;  
while(SJA_workmode)
      {
	  setting_SJA_resetmode();                   //設置SJA工作在復位模式
	  }
     CANREG_write(0x04,SJA_ACR);
	 CANREG_write(0x05,SJA_AMR);
     if((CANREG_read(0x04)==SJA_ACR)&(CANREG_read(0x05)==SJA_AMR))
	    {
         setting_success=1;                        //濾波器設置成功
		}
	 else 
	   {
       	setting_success=0;                         //濾波器設置失敗
	    }  
return(setting_success);
}

//------------------------------------------------------------------------------------------------------
// 函數類別   SJA1000基本操作
// 函數名稱   setting_SJA_CLK
// 入口函數   SJA_OCR,SJA_CDR
// 出口函數   setting_success
// 操作寄存器 輸出控制寄存器OCR(地址08)和時鐘分頻寄存器CDR(地址31)
// 函數功能   設置SJA輸出始終類型
// 特殊要求   只能在復位工作模式下設置
//------------------------------------------------------------------------------------------------------
bit setting_SJA_CLK(void)
{
bit setting_success;  
while(SJA_workmode)
      {
	  setting_SJA_resetmode();                   //設置SJA工作在復位模式
	  }
     CANREG_write(0x08,SJA_OCR);
	 CANREG_write(31,SJA_CDR);
     if((CANREG_read(0x08)==SJA_OCR)&(CANREG_read(31)==SJA_CDR))
	    {
         setting_success=1;                        //濾波器設置成功
		}
	 else 
	   {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
911精品国产一区二区在线| 国产精品国产三级国产aⅴ原创| 久久99精品久久久| 午夜免费久久看| 亚洲va国产va欧美va观看| 亚洲愉拍自拍另类高清精品| 亚洲综合精品自拍| 国产99久久久国产精品 | 国产精品每日更新在线播放网址| 国产丝袜美腿一区二区三区| 国产精品国产三级国产普通话三级| 日韩黄色小视频| 国产一区二区不卡老阿姨| 国产精品一二三四| 色婷婷亚洲精品| 欧美精品黑人性xxxx| 久久婷婷成人综合色| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲一区免费在线观看| 不卡一卡二卡三乱码免费网站| 欧美色窝79yyyycom| 欧美一区二区免费| 国产精品不卡在线| 成人美女视频在线观看| 欧美午夜电影网| 一区二区三区四区五区视频在线观看| 日韩激情中文字幕| 精品视频全国免费看| 久久这里都是精品| 麻豆国产精品777777在线| 97超碰欧美中文字幕| 欧美日韩国产片| 国产精品嫩草久久久久| 国产91在线看| 亚洲国产高清在线| 青青国产91久久久久久| 91香蕉视频黄| 久久亚洲一区二区三区明星换脸| 日本女优在线视频一区二区| 97久久超碰国产精品电影| 国产精品麻豆视频| 日韩精品一区二区三区中文精品| 国产精品三级在线观看| 成人一级片在线观看| 亚洲欧洲国产日本综合| 精品一区二区av| 久久久久亚洲蜜桃| 免费观看在线综合| 日韩精品一区二区三区蜜臀| 国产美女主播视频一区| 国产精品视频九色porn| 日本精品视频一区二区| 国产精品久久久久久户外露出 | 国产成人一区二区精品非洲| 欧美日韩在线播放三区| 蜜桃视频免费观看一区| 国产亚洲精品aa午夜观看| 91丝袜国产在线播放| 视频一区视频二区中文字幕| 欧美不卡一区二区三区| 日本不卡高清视频| 久久综合九色综合久久久精品综合| 懂色av一区二区三区免费观看| 最新久久zyz资源站| 激情欧美一区二区| 欧美一级理论性理论a| 日本人妖一区二区| 日本一区二区电影| 制服丝袜亚洲播放| 国产91高潮流白浆在线麻豆 | 国产精品私人自拍| 欧美亚洲综合久久| 国产一区二区调教| 亚洲一二三四在线观看| 精品国产一区二区精华| 激情久久五月天| 一个色在线综合| 久久嫩草精品久久久久| 色综合久久综合网97色综合| 久久激情综合网| 国产亚洲欧美色| 欧美日韩精品综合在线| 成人激情动漫在线观看| 久久综合综合久久综合| 亚洲精品国产a| 91精品国产高清一区二区三区 | 麻豆国产一区二区| 亚洲一区在线看| 国产精品福利在线播放| 久久天堂av综合合色蜜桃网| 欧美高清视频在线高清观看mv色露露十八| 国产成人精品免费| 九九**精品视频免费播放| 亚洲国产aⅴ成人精品无吗| 欧美夫妻性生活| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美少妇bbb| 99久久99久久免费精品蜜臀| 精品亚洲成av人在线观看| 亚洲18色成人| 亚洲午夜久久久久久久久久久| 国产精品久久网站| 日本一区二区三区dvd视频在线| 成人免费观看av| 国产自产视频一区二区三区| 日韩不卡免费视频| 亚洲成av人片一区二区梦乃| 亚洲女与黑人做爰| 亚洲色图制服丝袜| 国产精品白丝在线| 成人免费在线播放视频| 最新久久zyz资源站| 国产精品久久久久久妇女6080| 欧美激情综合五月色丁香小说| 国产日韩欧美在线一区| 中文字幕av一区二区三区免费看| 国产亚洲人成网站| 亚洲国产精品精华液2区45| 国产精品亲子伦对白| 国产精品初高中害羞小美女文| 国产精品看片你懂得| 亚洲人一二三区| 亚洲精品一二三| 午夜精品一区二区三区三上悠亚| 亚洲成人av一区二区三区| 午夜精品影院在线观看| 精品午夜一区二区三区在线观看| 久久电影网电视剧免费观看| 精一区二区三区| 国产91精品一区二区| 一本色道久久加勒比精品| 色乱码一区二区三区88| 欧美日韩二区三区| 精品99999| 亚洲丝袜另类动漫二区| 一区二区三区精品| 免费一级片91| 国产精品一区二区不卡| 色94色欧美sute亚洲线路一ni | 久久精品99久久久| 福利电影一区二区三区| 色综合久久久久久久| 欧美精品精品一区| 日本一区二区三区电影| 亚洲高清不卡在线| 狠狠色狠狠色综合| 91视频91自| 欧美成人精品二区三区99精品| 日本一区二区三级电影在线观看| 一区二区免费在线| 国产久卡久卡久卡久卡视频精品| 91在线视频18| 精品国产亚洲一区二区三区在线观看| 国产亚洲精品资源在线26u| 亚洲一区二区中文在线| 国产传媒一区在线| 欧美日韩高清一区| 亚洲人成精品久久久久久| 麻豆精品一区二区综合av| 91在线porny国产在线看| 欧美一级高清大全免费观看| 最新久久zyz资源站| 精品一区二区在线播放| 欧美亚洲精品一区| 国产精品久久久久婷婷| 玖玖九九国产精品| 欧美性videosxxxxx| 国产人久久人人人人爽| 日韩精品欧美精品| 欧美变态tickle挠乳网站| 一区二区三区小说| 国产成人亚洲综合色影视| 国产一区二区三区免费看 | 老司机精品视频在线| 中文字幕综合网| 韩国av一区二区| 91精品国产综合久久久久久| 中文字幕一区在线观看视频| 裸体歌舞表演一区二区| 欧美少妇bbb| 亚洲精选视频在线| 成人av网站在线| 精品国产乱码久久久久久久| 午夜精品久久久久久久久| 色综合天天综合狠狠| 波多野结衣中文字幕一区二区三区| 3d成人动漫网站| 午夜一区二区三区在线观看| 91亚洲午夜精品久久久久久| 国产欧美日产一区| 国产福利一区二区三区视频| 日韩亚洲欧美中文三级| 日韩黄色片在线观看| 欧美日韩一区 二区 三区 久久精品 | 精品成人一区二区三区四区| 一区二区在线观看不卡| 中文字幕不卡在线| 日韩一区二区三| 99热这里都是精品| 欧美午夜电影一区|