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

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

?? can81c9x.h

?? CAN總線傳輸及液晶顯示文章
?? H
字號:
//****************************************************************************
// @Module        Standalone Full-CAN Controller SAE 81C90/91
// @Filename      CAN80C9x.H
// @Project       Hands on Training for the kitCON CAN/LCD Module
//----------------------------------------------------------------------------
// @Controller    Siemens C16x
//
// @Compiler      Tasking C166 V5.0
//                Keil C166 V3.00
//
// @Author        Michael Knese
//
// @Description   This file contains all function prototypes and macros for CAN
//                
//
//----------------------------------------------------------------------------
// @Date          11/16/98 12:45:00 PM
//
//****************************************************************************
//****************************************************************************
// @Definition of a structure for the CAN data
//****************************************************************************

// The following data type serves as a software message object. Each access to
// a hardware message object has to be made by forward a pointer to a software
// message object (TCAN_Obj). The data type has the following fields:
//
// ubMsgCfg:
// this byte has the same structure as the message configuration register of a
// hardware message object. It contains the "Data Lenght Code" (DLC),
// and the "Message Direction" (DIR, read only access).
//
//         7     6     5      4    3     2     1     0
//      |-----------------------------------------------|
//      |                  | DIR |        DLC           |
//      |-----------------------------------------------|
//
// ulArbitr: 
// this field is four bytes long and contains either the 11-bit identifier 
//
// ubData[8]:
// 8 bytes containing the data of a frame
//
// uwTsr:
// this filed contained the time at wish a specific messeage was received
//

typedef struct
  {
     ubyte ubMsgCfg;    // 8-bit Message Configuration Register
     uword uwArbitr;    // standard (11-bit) identifier
     ubyte ubData[8];   // 8-bit Data Bytes
     uword uwTsr;       // Time-Stamp (only for the first 8 message objects 0-7)
  }TCAN81C9x_Obj;


//****************************************************************************
// @Prototypes of global functions
//****************************************************************************
void CAN81C9x_vInit(void);
void CAN81C9x_vTransmit(ubyte ConNr, ubyte ObjNr);



// USER CODE BEGIN (CANHeader,1)

// USER CODE END




//****************************************************************************
// @Defines
//****************************************************************************



// Structure for a single CAN controller

#define CAN_OFFSET_81 0xFD00

struct can_con_81
{
  ubyte  BL1;      	//Bit-length register
  ubyte  BL2;      	//
  ubyte  OC;      	//Output-control register
  ubyte  BRPR;      	//Baud-rate prescaler
  ubyte  RRR1;     	//Receive-ready register
  ubyte  RRR2;     	//
  ubyte  RIMR1;    	//Receive-interrupt-mask register
  ubyte  RIMR2;    	//
  ubyte  TRSR1;     	//Transmit-request-set register
  ubyte  TRSR2;     	//
  ubyte  IMSK;      	//Interrupt-mask register
  ubyte  res0B;      	//
  ubyte  res0C;      	//
  ubyte  res0D;      	//
  ubyte  res0E;      	//
  ubyte  res0F;      	//

  ubyte  MOD;      	//Mode/status register
  ubyte  INT;      	//Interrupt register
  ubyte  CTRL;      	//Control register
  ubyte  res13;      	//
  ubyte  CC;      	//Clock-control register
  ubyte  TCEC;      	//Transmit-check error counter
  ubyte  TCD;      	//Transmit-check data register
  ubyte  res17;      	//
  ubyte  TRR1;      	//Transmit-request-reset register
  ubyte  TRR2;      	//
  ubyte  RRPR1;      	//Remote-request-pending register
  ubyte  RRPR2;      	//
  ubyte  TSCH;      	//Time-Stamp counter
  ubyte  TSCL;      	//
  ubyte  res1E;      	//
  ubyte  res1F;      	//

  ubyte  res20;      	//
  ubyte  res21;      	//
  ubyte  res22;      	//
  ubyte  res23;      	//
  ubyte  res24;      	//
  ubyte  res25;      	//
  ubyte  res26;      	//
  ubyte  res27;      	//
  struct {
              ubyte PDR;     //port-direction register
              ubyte PR;	     //pin register
	      ubyte LR;	     //latch register
	      ubyte resP;    //
         }Port[2];      //
  struct {
              ubyte H;
              ubyte L;
         }TSR[8];      	//Time-Stamp Register
  struct {
              ubyte H;
              ubyte L;
         }DR[16];       //Descriptor Register
  ubyte res60_7F[32];      
  struct {
              ubyte Data[8];

         }MsgObj[16];	//Data Register
  
};


#define CAN_CON ((struct can_con_81 volatile xdata *) (CAN_OFFSET_81))


// USER CODE BEGIN (CANHeader,2)

// USER CODE END


//****************************************************************************
// @Macros
//****************************************************************************


//****************************************************************************
// @Function      diverse Macros
//
//----------------------------------------------------------------------------
// @Description   These macros can be used for checking the status of the
//                SAE 81C90/91 (read only)
//       CAN81C9x_BusState:             BS  = MOD.2
//                                      0: Normal Mode
//					1: Bus Off state, the IC does not 
//            				   participate in bus activities.
//		  ReceiverWarning:      RWL = MOD.3
//         				0: Receive-error counter below 96.
//           				1: Receive-error counter >= 96.
//		  TransmitWarning:  	TWL = MOD.4
//         				0: Transmit-error counter below 96.
//					1: Transmit-error counter >= 96.
//		  TransmissionComplete:	TC  = MOD.5
// 					0: The last transmission request is 
//					   not yet executed successfully.
//					1: The last transmission request was 
//					   executed successfully.
//		  ReceiveState:		RS  = MOD.6
//					0: No reception active.
//					1: Currently the SAE 81C90/91 is in 
//					   receive mode.
//
//----------------------------------------------------------------------------
// @Returnvalue   status of the corresponding bit (see above)
//
//----------------------------------------------------------------------------
// @Parameters    Number of the CAN - Controller (0-1)
//
//----------------------------------------------------------------------------
// @Date          11/2/98 4:50:26 PM
//
//****************************************************************************
#define CAN81C9x_BusState(ConNr)             ( (CAN_CON[ConNr].MOD >> 2) & 0x1 )
#define CAN81C9x_ReceiverWarning(ConNr)      ( (CAN_CON[ConNr].MOD >> 3) & 0x1 )
#define CAN81C9x_TransmitWarning(ConNr)      ( (CAN_CON[ConNr].MOD >> 4) & 0x1 )
#define CAN81C9x_TransmissionComplete(ConNr) ( (CAN_CON[ConNr].MOD >> 5) & 0x1 )
#define CAN81C9x_ReceiveState(ConNr)         ( (CAN_CON[ConNr].MOD >> 6) & 0x1 )



// USER CODE BEGIN (CANHeader,3)

// USER CODE END



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费观看一级欧美片| 国产三级一区二区三区| 图片区小说区国产精品视频| 精品视频免费看| 美女视频网站黄色亚洲| 日韩精品一区二区三区视频在线观看| 狠狠色综合播放一区二区| 国产日韩高清在线| 99久久国产综合精品麻豆| 亚洲香肠在线观看| 欧美成人午夜电影| 岛国一区二区在线观看| 亚洲美女一区二区三区| 欧美一区二区三区在线电影| 国产一区日韩二区欧美三区| 国产精品国产三级国产aⅴ入口| 欧美在线看片a免费观看| 日韩vs国产vs欧美| 欧美激情一区在线观看| 91精品福利视频| 久久99深爱久久99精品| 欧美国产日韩精品免费观看| 91高清在线观看| 麻豆91精品视频| 综合久久久久久久| 日韩一级片在线观看| 99精品在线免费| 免费成人结看片| 亚洲欧美国产高清| 久久综合999| 精品视频一区二区不卡| 东方欧美亚洲色图在线| 五月综合激情网| 国产精品国产自产拍高清av王其 | 精品国产制服丝袜高跟| 成人av午夜影院| 蜜乳av一区二区| 亚洲裸体在线观看| 精品国产乱码久久| 欧美日本免费一区二区三区| 国产精品18久久久久久久久| 天天亚洲美女在线视频| 中文字幕色av一区二区三区| 91精品蜜臀在线一区尤物| 色呦呦国产精品| 成人高清在线视频| 久久精品72免费观看| 夜夜嗨av一区二区三区四季av| 国产性色一区二区| 日韩欧美亚洲国产另类| 欧美午夜电影网| 成人免费观看av| 国产一区啦啦啦在线观看| 视频一区二区三区中文字幕| 亚洲欧洲av色图| 日本一区二区三级电影在线观看 | 欧美一区二区三区影视| 色综合天天天天做夜夜夜夜做| 国产乱人伦偷精品视频免下载| 日韩高清国产一区在线| 亚洲高清中文字幕| 亚洲精品久久久蜜桃| 亚洲色图视频网站| 成人免费在线视频观看| 国产精品美女久久久久久| 久久先锋资源网| 日韩欧美一级片| 欧美高清dvd| 欧美日韩国产色站一区二区三区| 91成人在线精品| 欧美亚洲免费在线一区| 欧美色网站导航| 欧美日韩的一区二区| 欧美日韩国产电影| 7777精品伊人久久久大香线蕉的 | 国产精品77777竹菊影视小说| 久久国产精品色婷婷| 麻豆精品在线播放| 韩国中文字幕2020精品| 国产福利视频一区二区三区| 国产成人综合视频| 成人黄色大片在线观看| 91婷婷韩国欧美一区二区| 91麻豆免费观看| 欧美日韩精品一区二区三区四区| 欧美日韩电影在线播放| 日韩欧美一区电影| 久久久久久久综合狠狠综合| 国产欧美精品一区二区三区四区| 中文字幕av不卡| 亚洲视频免费看| 五月婷婷综合在线| 蜜臀av一区二区在线免费观看 | 中文字幕在线一区免费| 亚洲人成网站在线| 午夜在线电影亚洲一区| 麻豆久久久久久| 成人国产在线观看| 在线观看www91| 欧美一级淫片007| 中文字幕精品—区二区四季| 1区2区3区精品视频| 亚洲国产精品自拍| 国内不卡的二区三区中文字幕| 成人av在线影院| 欧美视频在线不卡| 久久久久久久久久电影| 亚洲视频在线一区观看| 日韩av中文在线观看| 国产成人免费xxxxxxxx| 91国产精品成人| 日韩欧美的一区| 亚洲女人****多毛耸耸8| 奇米影视一区二区三区| 成人18视频日本| 欧美一区二区三级| 欧美精彩视频一区二区三区| 亚洲va韩国va欧美va精品| 国产精品一区久久久久| 欧美四级电影网| 久久天堂av综合合色蜜桃网| 一区二区三区日韩| 国产一区二区91| 精品视频1区2区| 日本一区二区免费在线观看视频| 亚洲va欧美va人人爽| aaa国产一区| 2020国产成人综合网| 天天影视网天天综合色在线播放| 成人黄色小视频| 337p粉嫩大胆噜噜噜噜噜91av| 一区二区三区电影在线播| 国产91露脸合集magnet| 这里只有精品99re| 亚洲免费大片在线观看| 成人午夜伦理影院| 欧美一级爆毛片| 亚洲成人激情社区| 99久久综合狠狠综合久久| 久久综合九色综合久久久精品综合| 自拍偷拍欧美精品| 成人禁用看黄a在线| 精品国产精品网麻豆系列| 亚洲成人免费电影| 在线看日韩精品电影| 中文字幕五月欧美| 国产成人亚洲精品青草天美| 欧美精品一区二区三区很污很色的 | 裸体一区二区三区| 在线视频一区二区三区| 国产精品久久久久久久蜜臀| 国产永久精品大片wwwapp| 日韩午夜激情免费电影| 丝袜诱惑制服诱惑色一区在线观看| 91丨九色porny丨蝌蚪| 中文字幕免费不卡在线| 国产精品一区二区在线播放 | 日韩国产在线观看一区| 欧美主播一区二区三区| 亚洲激情图片小说视频| 97国产一区二区| 国产精品久久久久久久久晋中 | 国产精品天干天干在线综合| 国产成人自拍网| 中文字幕乱码日本亚洲一区二区| 国内成人精品2018免费看| 亚洲精品一线二线三线| 韩国一区二区三区| 国产日韩欧美在线一区| 成人综合婷婷国产精品久久蜜臀 | 久久精品夜色噜噜亚洲aⅴ| 狠狠色丁香婷婷综合久久片| 久久久亚洲午夜电影| 国产一区二区三区观看| 久久精品人人爽人人爽| 成人免费高清视频在线观看| 中文字幕在线一区二区三区| 91老师国产黑色丝袜在线| 亚洲视频免费在线| 在线观看欧美日本| 亚洲gay无套男同| 日韩无一区二区| 国产精品一级片| 亚洲免费大片在线观看| 欧美高清视频在线高清观看mv色露露十八 | 99精品在线观看视频| 亚洲综合色自拍一区| 欧美精品一卡二卡| 国内欧美视频一区二区| 亚洲国产精品99久久久久久久久 | 天天影视色香欲综合网老头| 日韩精品一区二区三区视频播放| 国产精品99久久久久久有的能看| 国产精品区一区二区三| 欧美在线|欧美| 蜜芽一区二区三区| 国产欧美一区二区在线观看| 色噜噜夜夜夜综合网| 日韩不卡一区二区| 中文字幕一区在线观看视频|