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

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

?? can.h

?? STR71X源代碼包括例程與各功能的源代碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
/******************** (C) COPYRIGHT 2003 STMicroelectronics ********************
* File Name          : can.h
* Author             : MCD Application Team
* Date First Issued  : 27/10/2003
* Description        : This file contains all the functions prototypes for the
*                      CAN bus software library.
********************************************************************************
* History:
*  13/01/2006 : V3.1
*  24/05/2005 : V3.0
*  30/11/2004 : V2.0
*  14/07/2004 : V1.3
*  01/01/2004 : V1.2
*******************************************************************************
 THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
 CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
 AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
 OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
 OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
 CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/
#ifndef __CAN_H
#define __CAN_H

#include "71x_map.h"

/* Standard bitrates available */
enum
{
  CAN_BITRATE_100K,
  CAN_BITRATE_125K,
  CAN_BITRATE_250K,
  CAN_BITRATE_500K,
  CAN_BITRATE_1M
};

/* Control register */
#define CAN_CR_TEST		0x0080
#define CAN_CR_CCE		0x0040
#define CAN_CR_DAR		0x0020
#define CAN_CR_EIE		0x0008
#define CAN_CR_SIE		0x0004
#define CAN_CR_IE		0x0002
#define CAN_CR_INIT		0x0001

/* Status register */
#define CAN_SR_LEC		0x0007
#define CAN_SR_TXOK		0x0008
#define CAN_SR_RXOK		0x0010
#define CAN_SR_EPASS		0x0020
#define CAN_SR_EWARN		0x0040
#define CAN_SR_BOFF		0x0080

/* Test register */
#define CAN_TESTR_RX		0x0080
#define CAN_TESTR_TX1		0x0040
#define CAN_TESTR_TX0		0x0020
#define CAN_TESTR_LBACK		0x0010
#define CAN_TESTR_SILENT	0x0008
#define CAN_TESTR_BASIC		0x0004

/* IFn / Command Request register */
#define CAN_CRR_BUSY		0x8000

/* IFn / Command Mask register */
#define CAN_CMR_WRRD		0x0080
#define CAN_CMR_MASK		0x0040
#define CAN_CMR_ARB		0x0020
#define CAN_CMR_CONTROL		0x0010
#define CAN_CMR_CLRINTPND	0x0008
#define CAN_CMR_TXRQST		0x0004
#define CAN_CMR_DATAA		0x0002
#define CAN_CMR_DATAB		0x0001

/* IFn / Mask 2 register */
#define CAN_M2R_MXTD		0x8000
#define CAN_M2R_MDIR		0x4000

/* IFn / Arbitration 2 register */
#define CAN_A2R_MSGVAL		0x8000
#define CAN_A2R_XTD		0x4000
#define CAN_A2R_DIR		0x2000

/* IFn / Message Control register */
#define CAN_MCR_NEWDAT		0x8000
#define CAN_MCR_MSGLST		0x4000
#define CAN_MCR_INTPND		0x2000
#define CAN_MCR_UMASK		0x1000
#define CAN_MCR_TXIE		0x0800
#define CAN_MCR_RXIE		0x0400
#define CAN_MCR_RMTEN		0x0200
#define CAN_MCR_TXRQST		0x0100
#define CAN_MCR_EOB		0x0080


/* Wake-up modes */
enum
{
  CAN_WAKEUP_ON_EXT,
  CAN_WAKEUP_ON_CAN
};


/* CAN message structure */
typedef struct
{
  u32 IdType;
  vu32 Id;
  vu8 Dlc;
  vu8 Data[8];
} canmsg;

/* message ID types */
enum
{
  CAN_STD_ID,
  CAN_EXT_ID
};

/* message ID limits */
#define CAN_LAST_STD_ID	((1<<11) - 1)
#define CAN_LAST_EXT_ID	((1L<<29) - 1)

/*******************************************************************************
* Function Name  : CAN_EnterInitMode
* Description    : Switch the CAN into initialization mode
* Input 1        : any binary value formed from the CAN_CR_xxx defines
* Output         : None
* Return         : None
* Note           : CAN_LeaveInitMode must be called when all is done
*******************************************************************************/
inline void CAN_EnterInitMode(u8 mask)
{
	CAN->CR = mask | CAN_CR_INIT;

    /* reset the status */
	CAN->SR = 0;					
}

/*******************************************************************************
* Function Name  : CAN_LeaveInitMode
* Description    : Leave the initialization mode (switch into normal mode)
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
inline void CAN_LeaveInitMode(void)
{
	CAN->CR &= ~(CAN_CR_INIT | CAN_CR_CCE);
}

/*******************************************************************************
* Function Name  : CAN_EnterTestMode
* Description    : Switch the CAN into test mode
* Input 1        : any binary value formed from the CAN_TESTR_xxx defines
* Output         : None
* Return         : None
* Note           : CAN_LeaveTestMode must be called when all is done
*******************************************************************************/
inline void CAN_EnterTestMode(u8 mask)
{
	CAN->CR |= CAN_CR_TEST;
	CAN->TESTR |= mask;
}

/*******************************************************************************
* Function Name  : CAN_LeaveTestMode
* Description    : Leave the current test mode (switch into normal mode)
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
inline void CAN_LeaveTestMode(void)
{
	CAN->CR |= CAN_CR_TEST;
	CAN->TESTR &= ~(CAN_TESTR_LBACK | CAN_TESTR_SILENT | CAN_TESTR_BASIC);
	CAN->CR &= ~CAN_CR_TEST;
}

/*******************************************************************************
* Function Name  : CAN_SetBitrate
* Description    : Setup a standard CAN bitrate
* Input 1        : one of the CAN_BITRATE_xxx defines
* Output         : None
* Return         : None
* Note           : CAN must be in initialization mode
*******************************************************************************/
void CAN_SetBitrate(u32 bitrate);

/*******************************************************************************
* Function Name  : CAN_SetTiming
* Description    : Setup the CAN timing with specific parameters
* Input 1        : Time Segment before the sample point position, from 1 to 16
* Input 2        : Time Segment after the sample point position, from 1 to 8
* Input 3        : Synchronisation Jump Width, from 1 to 4
* Input 4        : Baud Rate Prescaler, from 1 to 1024
* Output         : None
* Return         : None
* Note           : CAN must be in initialization mode
*******************************************************************************/
void CAN_SetTiming(u32 tseg1, u32 tseg2, u32 sjw, u32 brp);

/*******************************************************************************
* Function Name  : CAN_SleepRequest

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99视频精品在线| 欧洲另类一二三四区| 免费观看一级欧美片| 午夜免费欧美电影| 午夜a成v人精品| 免费看精品久久片| 激情图片小说一区| 国产乱码精品一品二品| 国产精品亚洲成人| 91小视频在线免费看| 一本色道久久综合亚洲精品按摩| 99久久er热在这里只有精品66| 99久久er热在这里只有精品66| 欧亚一区二区三区| 91精品国产aⅴ一区二区| 91精品国产欧美日韩| 久久免费偷拍视频| 日韩一区欧美小说| 午夜a成v人精品| 国产真实精品久久二三区| 大陆成人av片| 欧美日韩高清影院| 精品国产乱码久久久久久夜甘婷婷 | 中文字幕免费在线观看视频一区| 中文字幕不卡一区| 午夜久久电影网| 国产一区三区三区| 在线中文字幕不卡| 精品国产三级电影在线观看| 国产免费久久精品| 亚洲国产美女搞黄色| 国内精品在线播放| eeuss影院一区二区三区| 91麻豆免费观看| 欧美一区二区三区免费观看视频| 欧美国产一区二区在线观看| 亚洲在线中文字幕| 国产精品一区二区在线观看网站| 欧洲精品中文字幕| 国产欧美一区二区精品性色| 亚洲欧美国产三级| 国产精品一区专区| 91精品国产91久久久久久最新毛片| 久久精品男人天堂av| 午夜视频在线观看一区二区三区| 成人影视亚洲图片在线| 8v天堂国产在线一区二区| 中文字幕在线不卡一区二区三区 | 69久久夜色精品国产69蝌蚪网| 国产性色一区二区| 午夜精品123| 99久久99久久免费精品蜜臀| ww久久中文字幕| 一区二区三区视频在线观看| 国产盗摄精品一区二区三区在线 | 国产精品入口麻豆九色| 奇米色一区二区| 欧美一a一片一级一片| 18欧美亚洲精品| 国产经典欧美精品| 久久精品在线免费观看| 奇米精品一区二区三区四区 | 成人h动漫精品一区二区| 日韩欧美国产午夜精品| 丝袜美腿一区二区三区| 99精品偷自拍| 亚洲精品在线三区| 国产中文一区二区三区| 久久伊人中文字幕| 国产一区二区不卡在线| 欧美视频一区二| 亚洲综合图片区| 一本色道久久加勒比精品| 中文字幕亚洲电影| 99精品欧美一区二区蜜桃免费| 国产精品五月天| 成人激情小说乱人伦| 一区精品在线播放| 在线观看91精品国产入口| 亚洲最大成人网4388xx| 91成人国产精品| 午夜免费久久看| 欧美大片日本大片免费观看| 五月激情综合色| 日韩欧美第一区| 韩国精品主播一区二区在线观看| 精品免费国产一区二区三区四区| 久久精品国产亚洲一区二区三区| 久久综合久久久久88| 懂色av中文字幕一区二区三区| 久久精品欧美一区二区三区麻豆| 波多野结衣中文字幕一区| 中文在线一区二区| 91麻豆精品秘密| 亚洲大片免费看| www国产精品av| 99re热视频精品| 日韩国产精品大片| 久久精品欧美一区二区三区不卡 | 亚洲永久精品大片| 欧美一区二区三区播放老司机| 久久99久久久久| 国产日韩欧美高清| 欧美视频在线一区| 国产精品123| 午夜精品福利一区二区三区av | 麻豆专区一区二区三区四区五区| 国产农村妇女毛片精品久久麻豆| 在线观看精品一区| 国产在线精品一区二区夜色| 国产调教视频一区| 在线欧美小视频| 国产另类ts人妖一区二区| 亚洲美女屁股眼交3| 欧美大度的电影原声| 91麻豆免费观看| 国产一区二区不卡| 首页综合国产亚洲丝袜| 亚洲欧洲av在线| 国产日本亚洲高清| 欧美日韩国产片| va亚洲va日韩不卡在线观看| 肉肉av福利一精品导航| 成人免费一区二区三区在线观看| 日韩欧美你懂的| 欧美性做爰猛烈叫床潮| 国产不卡一区视频| 极品美女销魂一区二区三区| 亚洲国产欧美一区二区三区丁香婷| 亚洲国产精品t66y| 精品国产乱码久久久久久浪潮 | 久久国产成人午夜av影院| 一区二区三区欧美日| 国产欧美一区二区精品性| 欧美一级视频精品观看| 欧美三级日韩三级| 色网综合在线观看| 99精品欧美一区| 99这里都是精品| 丁香另类激情小说| 粉嫩av一区二区三区| 国产黄人亚洲片| 国内精品嫩模私拍在线| 另类小说图片综合网| 香蕉影视欧美成人| 亚洲成a人片在线不卡一二三区| 亚洲欧美色图小说| 亚洲天堂免费在线观看视频| 国产精品免费视频网站| 中文字幕精品在线不卡| 国产午夜久久久久| 欧美激情综合在线| 国产精品毛片大码女人| 中文字幕亚洲综合久久菠萝蜜| 国产日韩欧美制服另类| 欧美国产精品久久| 国产精品免费久久| 日韩美女精品在线| 亚洲国产你懂的| 日本麻豆一区二区三区视频| 天堂久久久久va久久久久| 日本大胆欧美人术艺术动态| 日本不卡不码高清免费观看| 老色鬼精品视频在线观看播放| 精品一区二区在线免费观看| 国产伦精品一区二区三区免费迷 | 欧美日韩一级视频| 欧美夫妻性生活| 欧美成人三级电影在线| 精品国产区一区| 中文字幕一区二区三区在线播放| 最新日韩av在线| 亚洲国产精品自拍| 日本欧美一区二区三区乱码| 国产一区二区三区在线看麻豆| 国产精品 日产精品 欧美精品| 99精品久久免费看蜜臀剧情介绍| 欧美色精品在线视频| 欧美精品一区二区三区视频| 中文字幕不卡一区| 一区二区三区欧美久久| 久久国产精品无码网站| 99热在这里有精品免费| 欧美顶级少妇做爰| 国产精品三级视频| 丝袜亚洲另类欧美| youjizz国产精品| 欧美三级在线看| 国产午夜精品福利| 日韩av不卡在线观看| 成人综合在线视频| 日韩视频一区二区三区在线播放| 中文字幕av一区二区三区| 天天色天天操综合| 99国产欧美另类久久久精品| 日韩一级视频免费观看在线| 亚洲精品亚洲人成人网在线播放| 久久国产生活片100| 欧美日韩中文字幕一区| 国产欧美精品在线观看|