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

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

?? can_z.c

?? 單片機和GPS接收機構成的車載衛星定位系統
?? C
?? 第 1 頁 / 共 2 頁
字號:
#pragma   large
#include  <reg52.h>
#include  <SJA_BCANCONF.H>
#include  <absacc.h>
#include  <string.h>
#include  <intrins.h>
#define   uchar  unsigned char
#define   uint   unsigned int
/*----------------------------lcd---------------------------------*/
#define clear   0x01  //清屏幕,約1.6ms
#define home    0x02   //光標回零(左上角)
#define f_set   0x30  //并行、基本指令
#define dis_on  0x0f  //打開顯示,光標,閃爍功能
#define in_mode 0x06  //輸入方式,地址增1,光標右移
#define panel_num 10

sbit P_RS=P1^3;   //P0^1; P1.5  片選CS高電平選中即有效
sbit P_RW=P1^4;   //P0^2;  SID
sbit P_E=P1^5;    // P0^3;   CLK
bdata uchar ab,d;
sbit abit0=ab^0;sbit abit1=ab^1;sbit abit2=ab^2;sbit abit3=ab^3;
sbit abit4=ab^4;sbit abit5=ab^5;sbit abit6=ab^6;sbit abit7=ab^7;
//idata uchar teleph0[17]={0x08,0xfd,0x04,0x0d,0,0,0,0,0,0,0,0,0,0,0,0,0};//0x38,0x36,0x31,0x33,0x38,0x34,0x35,0x31,0x32,
                        //0x34,0x36,0x34,0x32};
idata uchar str[10];
data uchar start;
//data uchar plat_data;
//uchar i;
/******************/
 /*---------------------------------------------------------*/
void delay(uint j)    //  time=j*10+7 (us)延時函數/
{
    data uchar ch;
    while(j--)
    {
    ch++; ch--;
    }
}
/*---------------------------------------------------------*/
/****************************************************************
CAN總線數據協議:

       0          "1" to "20"          目標ID
       1            "0x08"             特定
       2          "m" or "p" or  "d"   關節的選擇
       3          "1" to "3"           自身ID
       4          "C" or "D"           命令口or數據口的選擇
       5          "R" or "A"            命令字
       6-9          ......             數據

******************************************************************/

sbit SJA_reset=P2^1;
sbit green=P1^1;
sbit red=P1^2;
unsigned char request_flag,interrupt_flag;   //是否為查詢
unsigned char data SystemBuf[10];   //系統設置的接收數據緩沖區
unsigned char data SendBuf[10];   //系統設置的發送數據緩沖區




/************************************************************************
 *以下為基本的函數說明(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             *
                                    500K
;*返回值:                                                               *
;*           0 ;波特率設置成功                                          *
;*           1 ;波特率設置失敗                                          *
;*                                                                      *                                                        *
;************************************************************************/
bit   BCAN_SET_BANDRATE()
{
   unsigned char BTR0_num=0x00;  //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   unsigned char BTR1_num=0x1c;  //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  //將波特率的的預設值裝入sja1000的總線定時器
  SJA_BCANAdr=REG_BTR0;          		//訪問地址指向總線定時寄存器0
  *SJA_BCANAdr=BTR0_num;      			//寫入參數
  if(*SJA_BCANAdr != BTR0_num)			//校驗寫入值
  {
    return  1;
  }
  SJA_BCANAdr=REG_BTR1;         		//訪問地址指向總線定時寄存器
  *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;
}
/************************************************************************
 *函數原型:  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 data *SendDataBuf)
 {
   unsigned  char  TempCount;
   SJA_BCANAdr = REG_STATUS;            //訪問地址指向狀態寄存器
   if((*SJA_BCANAdr&0x08) == 0)         //判斷上次發送是否完成
   {
    return	1;
   }

   if((*SJA_BCANAdr&0x04)==0)          //判斷發送緩沖區是否鎖定
   {
     return	1;
   }

   SJA_BCANAdr = REG_TxBuffer1;        //訪問地址指向發送緩沖區1
   if((SendDataBuf[1]&0x10)==0)        //判斷RTR,從而得出是數據幀還是遠程幀
   {
     TempCount =(SendDataBuf[1]&0x0f)+2; //輸入數據幀
   }

   else
   {
     TempCount =2;                     //遠程幀
   }

  memcpy(SJA_BCANAdr,SendDataBuf,TempCount);
   return 0;
}

/************************************************************************
 *函數原型:  bit    BCAN_DATA_RECEIVE(unsigned char *RcvDataBuf);       *
 *參數說明:  RcvDataBuf,存放微處理器保存數據緩沖區                      *
 *返回值:    0;接收成功                                                 *
 *           1;接收失敗                                                 *
 *說明:CAN控制器接收數據,僅限于接收數據                                 *
 ************************************************************************/
bit BCAN_DATA_RECEIVE(unsigned char data *RvcDataBuf)
 {
   unsigned  char  TempCount;
   SJA_BCANAdr = REG_STATUS;                //訪問地址指向狀態寄存器
   if((*SJA_BCANAdr&0x01)==0)               //判斷報文是否有效
   {
     return 1;
   }

   SJA_BCANAdr = REG_RxBuffer2;             //訪問地址指向接收緩沖區2
   if((*SJA_BCANAdr&0x10)==0)               //如果是數據幀
   {
     TempCount=(*SJA_BCANAdr&0x0f)+2;       //計算報文中數據的個數
   }

   else
   {
    TempCount=2;
   }
   SJA_BCANAdr = REG_RxBuffer1;             //訪問地址指向接收緩沖區1
   SystemBuf[0]=*SJA_BCANAdr;
   SJA_BCANAdr = REG_RxBuffer2;
   SystemBuf[1]=*SJA_BCANAdr;
   SJA_BCANAdr = REG_RxBuffer3;
   SystemBuf[2]=*SJA_BCANAdr;
   SJA_BCANAdr = REG_RxBuffer4;
   SystemBuf[3]=*SJA_BCANAdr;
   SJA_BCANAdr = REG_RxBuffer5;
   SystemBuf[4]=*SJA_BCANAdr;
   SJA_BCANAdr = REG_RxBuffer6;
   SystemBuf[5]=*SJA_BCANAdr;
   SJA_BCANAdr = REG_RxBuffer7;
   SystemBuf[6]=*SJA_BCANAdr;
   SJA_BCANAdr = REG_RxBuffer8;
   SystemBuf[7]=*SJA_BCANAdr;
   SJA_BCANAdr = REG_RxBuffer9;
   SystemBuf[8]=*SJA_BCANAdr;
   SJA_BCANAdr = REG_RxBuffer10;
   SystemBuf[9]=*SJA_BCANAdr;
   //memcpy(RvcDataBuf,SJA_BCANAdr,TempCount);//讀取接收緩沖區的報文

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美高清性hdvideosex| 亚洲美女免费在线| 亚洲丝袜自拍清纯另类| 日本在线不卡一区| 色8久久精品久久久久久蜜| 国产无遮挡一区二区三区毛片日本| 一区二区三区在线看| 国产成人超碰人人澡人人澡| 欧美日韩午夜影院| 夜夜嗨av一区二区三区中文字幕| 韩国一区二区在线观看| 欧美精品久久99| 夜夜精品浪潮av一区二区三区| 成人福利在线看| 国产日产欧美一区| 精东粉嫩av免费一区二区三区| 欧美精品丝袜中出| 亚洲一二三四区| 色悠悠久久综合| 1024成人网色www| 成熟亚洲日本毛茸茸凸凹| 精品欧美乱码久久久久久| 免费久久99精品国产| 欧美精品99久久久**| 亚洲资源在线观看| 欧美专区在线观看一区| 亚洲欧洲美洲综合色网| 成人高清免费观看| 日韩国产成人精品| 欧美亚一区二区| 一区二区三区四区不卡视频| 色呦呦国产精品| 亚洲欧美日韩国产成人精品影院| 东方aⅴ免费观看久久av| 国产欧美一区二区精品仙草咪| 国产精品一区二区在线播放| 国产亚洲综合av| 成年人网站91| 亚洲男人电影天堂| 欧美在线视频你懂得| 亚洲一区在线观看免费观看电影高清| 色成人在线视频| 香蕉影视欧美成人| 日韩网站在线看片你懂的| 久草精品在线观看| 久久综合狠狠综合久久综合88 | 精品日韩欧美一区二区| 麻豆国产欧美日韩综合精品二区| 日韩欧美亚洲国产精品字幕久久久| 免费欧美高清视频| 国产日产精品1区| 色综合av在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 精品久久久久99| 不卡影院免费观看| 日韩极品在线观看| 久久久久久亚洲综合影院红桃| 成人短视频下载| 日韩激情在线观看| 国产精品色呦呦| 欧美色综合久久| 国产成人精品一区二| 亚洲久本草在线中文字幕| 日韩视频免费直播| 成人动漫一区二区在线| 婷婷久久综合九色国产成人 | 欧美一区二区在线不卡| 国产一区二区视频在线播放| 国产精品久久久久久久第一福利| 日本精品视频一区二区| 麻豆精品一区二区av白丝在线| 国产日韩欧美精品电影三级在线| 欧美性感一区二区三区| 国产精品一区不卡| 亚洲一区二区三区四区五区黄| 2023国产精品自拍| 色妹子一区二区| 国产精品一区二区久久不卡 | 国产精品影视天天线| 亚洲精品中文字幕乱码三区 | 亚洲女同一区二区| 久久在线免费观看| 欧美日韩一级二级| 99精品偷自拍| 国产一二三精品| 日韩不卡在线观看日韩不卡视频| 国产精品传媒入口麻豆| 久久久亚洲国产美女国产盗摄| 国产欧美一二三区| 欧美片在线播放| eeuss鲁片一区二区三区| 久久成人av少妇免费| 亚洲午夜久久久久中文字幕久| 中文一区二区在线观看| 欧美xxxxxxxxx| 欧美日韩成人综合| 91国模大尺度私拍在线视频| 成人激情黄色小说| 国产不卡视频在线播放| 精品一区二区久久| 精品中文av资源站在线观看| 日韩成人精品在线观看| 亚洲电影你懂得| 亚洲电影一级片| 亚洲成va人在线观看| 亚洲精品国产a| 一区二区三区久久| 亚洲精品中文字幕在线观看| 国产精品成人免费精品自在线观看 | 不卡av在线免费观看| 国产一区二区免费在线| 国产在线播放一区二区三区| 毛片一区二区三区| 久久成人综合网| 国产一区二区三区免费在线观看 | 日本在线不卡视频| 日本在线观看不卡视频| 久久激情五月激情| 国产一区在线不卡| 成人午夜电影网站| 97精品国产露脸对白| 一本久道中文字幕精品亚洲嫩| 91视视频在线观看入口直接观看www | 国产一区二区三区久久久 | 亚洲欧美综合在线精品| 国产精品久久国产精麻豆99网站| 中文字幕高清不卡| 亚洲欧美电影院| 婷婷亚洲久悠悠色悠在线播放| 青青草原综合久久大伊人精品 | 精品一区二区三区欧美| 国产一区亚洲一区| 91免费观看视频在线| 欧美三级资源在线| 精品国产乱码久久| 亚洲人妖av一区二区| 香蕉av福利精品导航| 激情伊人五月天久久综合| 粉嫩av一区二区三区| 在线观看成人小视频| 日韩欧美亚洲国产精品字幕久久久| www激情久久| 亚洲精品国产无天堂网2021| 五月激情综合网| 国产一二三精品| 欧美唯美清纯偷拍| 久久综合九色综合欧美亚洲| 亚洲欧美日韩国产另类专区| 日本欧美肥老太交大片| www.在线欧美| 欧美一级二级三级蜜桃| 亚洲国产精品成人综合色在线婷婷 | 日韩一区二区在线观看视频播放| 欧美精品一区二区三区久久久| 国产精品伦理在线| 蜜臀av一区二区| 91天堂素人约啪| 欧美va亚洲va在线观看蝴蝶网| 国产精品丝袜久久久久久app| 亚洲在线成人精品| 国产aⅴ综合色| 9191国产精品| 日韩理论片在线| 国产乱码一区二区三区| 色婷婷精品久久二区二区蜜臀av| 日韩精品中文字幕在线不卡尤物| 综合久久久久久| 黄色成人免费在线| 欧美人与禽zozo性伦| 亚洲欧洲三级电影| 国产精品一卡二| 日韩欧美国产精品| 午夜国产不卡在线观看视频| 成人高清伦理免费影院在线观看| 精品国免费一区二区三区| 亚洲成av人片一区二区梦乃| eeuss鲁片一区二区三区 | 日韩欧美国产一区在线观看| 亚洲综合色区另类av| 不卡av免费在线观看| 国产欧美一区二区精品性色| 韩国精品久久久| 欧美xxxxxxxx| 美女网站在线免费欧美精品| 欧美日韩一区二区不卡| 一区二区三区在线观看国产| 成人妖精视频yjsp地址| 久久久精品黄色| 国产成人在线观看免费网站| 精品成人在线观看| 另类成人小视频在线| 日韩精品一区二区三区四区视频| 亚洲成人av电影在线| 91国产视频在线观看| 亚洲精品国产a| 欧美亚洲高清一区| 亚洲成a人片综合在线| 欧美日韩国产精品自在自线| 亚洲va欧美va人人爽| 欧美精品丝袜久久久中文字幕|