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

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

?? can.h

?? STR71X源代碼包括例程與各功能的源代碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
* Description    : Request the CAN cell to enter sleep mode
* Input 1        : CAN_WAKEUP_ON_EXT or CAN_WAKEUP_ON_CAN
* Output         : None
* Return         : None
*******************************************************************************/
void CAN_SleepRequest(u32 WakeupMode);

/*******************************************************************************
* Function Name  : CAN_SetUnusedMsgObj
* Description    : Configure the message object as unused
* Input 1        : message object number, from 0 to 31
* Output         : None
* Return         : None
*******************************************************************************/
void CAN_SetUnusedMsgObj(u32 msgobj);

/*******************************************************************************
* Function Name  : CAN_SetTxMsgObj
* Description    : Configure the message object as TX
* Input 1        : message object number, from 0 to 31
* Input 2        : CAN_STD_ID or CAN_EXT_ID
* Output         : None
* Return         : None
*******************************************************************************/
void CAN_SetTxMsgObj(u32 msgobj, u32 idType);

/*******************************************************************************
* Function Name  : CAN_SetRxMsgObj
* Description    : Configure the message object as RX
* Input 1        : message object number, from 0 to 31
* Input 2        : CAN_STD_ID or CAN_EXT_ID
* Input 3        : low part of the identifier range used for acceptance filtering
* Input 4        : high part of the identifier range used for acceptance filtering
* Input 5        : TRUE for a single receive object or a FIFO receive object that
*                  is the last one of the FIFO
*                  FALSE for a FIFO receive object that is not the last one
* Output         : None
* Return         : None
*******************************************************************************/
void CAN_SetRxMsgObj(u32 msgobj, u32 idType, u32 idLow, u32 idHigh, bool singleOrFifoLast);

/*******************************************************************************
* Function Name  : CAN_InvalidateAllMsgObj
* Description    : Configure all the message objects as unused
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void CAN_InvalidateAllMsgObj(void);

/*******************************************************************************
* Function Name  : CAN_Init
* Description    : Initialize the CAN cell and set the bitrate
* Input 1        : any binary value formed from the CAN_CTL_xxx defines
* Input 2        : one of the CAN_BITRATE_xxx defines
* Output         : None
* Return         : None
*******************************************************************************/
void CAN_Init(u8 mask, u32 bitrate);

/*******************************************************************************
* Function Name  : CAN_ReleaseMessage
* Description    : Release the message object
* Input 1        : message object number, from 0 to 31
* Output         : None
* Return         : None
*******************************************************************************/
void CAN_ReleaseMessage(u32 msgobj);

/*******************************************************************************
* Function Name  : CAN_ReleaseTxMessage
* Description    : Release the transmit message object
* Input 1        : message object number, from 0 to 31
* Output         : None
* Return         : None
* Note           : assume that message interface 0 is free
*******************************************************************************/
inline void CAN_ReleaseTxMessage(u32 msgobj)
{
	CAN->sMsgObj[0].CMR = CAN_CMR_CLRINTPND | CAN_CMR_TXRQST;
	CAN->sMsgObj[0].CRR = 1 + msgobj;
}

/*******************************************************************************
* Function Name  : CAN_ReleaseRxMessage
* Description    : Release the receive message object
* Input 1        : message object number, from 0 to 31
* Output         : None
* Return         : None
* Note           : assume that message interface 1 is free
*******************************************************************************/
inline void CAN_ReleaseRxMessage(u32 msgobj)
{
	CAN->sMsgObj[1].CMR = CAN_CMR_CLRINTPND | CAN_CMR_TXRQST;
	CAN->sMsgObj[1].CRR = 1 + msgobj;
}

/*******************************************************************************
* Function Name  : CAN_SendMessage
* Description    : Start transmission of a message
* Input 1        : message object number, from 0 to 31
* Input 2        : pointer to the message structure containing data to transmit
* Output         : None
* Return         : 1 if transmission was OK, else 0
*******************************************************************************/
u32  CAN_SendMessage(u32 msgobj, canmsg* pCanMsg);

/*******************************************************************************
* Function Name  : CAN_ReceiveMessage
* Description    : Get the message, if received
* Input 1        : message object number, from 0 to 31
* Input 2        : if TRUE, the message object is released when getting the data
*                  if FALSE, the message object is not released
* Input 3        : pointer to the message structure where received data is stored
* Output         : None
* Return         : 1 if reception was OK, else 0 (no message pending)
*******************************************************************************/
u32  CAN_ReceiveMessage(u32 msgobj, bool release, canmsg* pCanMsg);

/*******************************************************************************
* Function Name  : CAN_WaitEndOfTx
* Description    : Wait until current transmission is finished
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void CAN_WaitEndOfTx(void);

/*******************************************************************************
* Function Name  : CAN_BasicSendMessage
* Description    : Start transmission of a message in BASIC mode
* Input 1        : pointer to the message structure containing data to transmit
* Output         : None
* Return         : 1 if transmission was OK, else 0
* Note           : CAN must be in BASIC mode
*******************************************************************************/
u32 CAN_BasicSendMessage(canmsg* pCanMsg);

/*******************************************************************************
* Function Name  : CAN_BasicReceiveMessage
* Description    : Get the message in BASIC mode, if received
* Input 1        : pointer to the message structure where received data is stored
* Output         : None
* Return         : 1 if reception was OK, else 0 (no message pending)
* Note           : CAN must be in BASIC mode
*******************************************************************************/
u32 CAN_BasicReceiveMessage(canmsg* pCanMsg);

/*******************************************************************************
* Function Name  : CAN_IsMessageWaiting
* Description    : Test the waiting status of a received message
* Input 1        : message object number, from 0 to 31
* Output         : None
* Return         : A non-zero value if the corresponding message object has
*                  received a message waiting to be copied, else 0
*******************************************************************************/
inline u32 CAN_IsMessageWaiting(u32 msgobj)
{
  return (msgobj < 16 ? CAN->ND1R & (1 << msgobj) : CAN->ND2R & (1 << (msgobj-16)));
}

/*******************************************************************************
* Function Name  : CAN_IsTransmitRequested
* Description    : Test the request status of a transmitted message
* Input 1        : message object number, from 0 to 31
* Output         : None
* Return         : A non-zero value if the corresponding message is requested
*                  to transmit, else 0
*******************************************************************************/
inline u32 CAN_IsTransmitRequested(u32 msgobj)
{
  return (msgobj < 16 ? CAN->TR1R & (1 << msgobj) : CAN->TR2R & (1 << (msgobj-16)));
}

/*******************************************************************************
* Function Name  : CAN_IsInterruptPending
* Description    : Test the interrupt status of a message object
* Input 1        : message object number, from 0 to 31
* Output         : None
* Return         : A non-zero value if the corresponding message has an interrupt
*                  pending, else 0
*******************************************************************************/
inline u32 CAN_IsInterruptPending(u32 msgobj)
{
  return (msgobj < 16 ? CAN->IP1R & (1 << msgobj) : CAN->IP2R & (1 << (msgobj-16)));
}

/*******************************************************************************
* Function Name  : CAN_IsObjectValid
* Description    : Test the validity of a message object (ready to use)
* Input 1        : message object number, from 0 to 31
* Output         : None
* Return         : A non-zero value if the corresponding message object is valid,
*                  else 0
*******************************************************************************/
inline u32 CAN_IsObjectValid(u32 msgobj)
{
  return (msgobj < 16 ? CAN->MV1R & (1 << msgobj) : CAN->MV2R & (1 << (msgobj-16)));
}

#endif /* __CAN_H */

/******************* (C) COPYRIGHT 2003 STMicroelectronics *****END OF FILE****/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日日夜夜一区二区| 亚洲女同女同女同女同女同69| 欧美一区二区三区在线观看视频| 久久国产视频网| 成人动漫精品一区二区| 激情国产一区二区 | av在线播放成人| 亚洲国产成人av网| 日本精品一级二级| 一区二区三区自拍| 欧美亚洲综合另类| 日韩中文字幕一区二区三区| 欧美日韩小视频| 蜜桃传媒麻豆第一区在线观看| 欧美一二三在线| 国产99久久久国产精品潘金 | 日本一二三不卡| av男人天堂一区| 亚洲亚洲精品在线观看| 欧美一区二区精美| 成人免费黄色在线| 亚洲一区二区三区视频在线 | 日本精品视频一区二区| 日本最新不卡在线| 亚洲国产精品精华液ab| 欧美亚洲免费在线一区| 极品美女销魂一区二区三区免费| 亚洲国产精品成人久久综合一区| 91久久精品国产91性色tv| 日韩在线观看一区二区| 日本一区二区免费在线观看视频| 在线观看国产91| 久久电影网站中文字幕| 中文字幕永久在线不卡| 欧美久久久久中文字幕| 成人少妇影院yyyy| 日本不卡1234视频| 欧美高清在线一区| 91精品国产综合久久蜜臀| a亚洲天堂av| 久久成人综合网| 亚洲综合图片区| 中文字幕久久午夜不卡| 91精品国产91久久综合桃花 | 亚洲人成精品久久久久久| 日韩精品中文字幕一区二区三区| 色婷婷久久一区二区三区麻豆| 久久不见久久见免费视频7| 一区二区三区丝袜| 日本一区二区视频在线观看| 日韩一级视频免费观看在线| 欧美日韩国产系列| 久久精品男人天堂av| 亚洲综合成人在线视频| 欧美中文字幕久久| 日本午夜精品一区二区三区电影| 欧美日韩在线免费视频| 精品免费一区二区三区| 国产精品天干天干在线综合| 久久亚洲捆绑美女| 欧美色倩网站大全免费| 天堂va蜜桃一区二区三区漫画版| 欧美日韩激情一区| 欧美日韩免费在线视频| 欧美三级欧美一级| 韩国av一区二区三区| 久久久九九九九| 日韩午夜中文字幕| 91麻豆国产香蕉久久精品| 亚洲一区二区黄色| 欧洲视频一区二区| 国产在线一区观看| 欧美极品少妇xxxxⅹ高跟鞋| 午夜精品123| 久久精品视频免费| 欧美日韩成人综合在线一区二区| 国产成人av网站| 国产尤物一区二区| 奇米888四色在线精品| 国产欧美日韩三区| 4438x成人网最大色成网站| 国产一区二区精品久久| 亚洲精品国产a| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 久久久久久久久久久久电影| 久久精品国产一区二区三区免费看| 91精品欧美综合在线观看最新 | 日韩国产精品大片| 欧美精品一区二区久久婷婷 | 亚洲一区二区美女| 最新热久久免费视频| 久久亚洲二区三区| 久久免费精品国产久精品久久久久| 欧美日精品一区视频| av电影天堂一区二区在线观看| 国产激情偷乱视频一区二区三区| 性做久久久久久久久| 亚洲乱码国产乱码精品精可以看| 91精品国产入口在线| 亚洲国产wwwccc36天堂| 国产欧美一区在线| 欧美二区三区91| 欧美xxxxxxxx| 国产精品―色哟哟| 欧美精品自拍偷拍动漫精品| 精品在线观看免费| 国产不卡视频一区二区三区| 成人毛片视频在线观看| 在线视频欧美精品| 欧美一区二区三区婷婷月色| 久久精品亚洲国产奇米99| 亚洲欧洲精品天堂一级 | 中文字幕中文乱码欧美一区二区| 日韩毛片高清在线播放| 五月婷婷欧美视频| 国产自产高清不卡| voyeur盗摄精品| 欧美日韩小视频| 国产婷婷色一区二区三区| 自拍av一区二区三区| 免费在线成人网| av在线不卡免费看| 日韩欧美成人一区二区| 国产精品网曝门| 午夜精品福利一区二区蜜股av| 久久 天天综合| 色哟哟一区二区在线观看| 日韩欧美二区三区| 亚洲男人的天堂一区二区| 久久精品免费看| 91福利区一区二区三区| 久久亚洲综合色一区二区三区| 一区二区三区四区在线播放| 另类小说色综合网站| 日本高清不卡视频| 国产婷婷色一区二区三区在线| 日韩成人dvd| 欧美性猛片aaaaaaa做受| 欧美国产成人精品| 蜜臀va亚洲va欧美va天堂| 自拍偷在线精品自拍偷无码专区| 午夜天堂影视香蕉久久| 国产99久久久精品| 亚洲成人午夜电影| 成人国产免费视频| 久久婷婷久久一区二区三区| 国产精品亚洲一区二区三区在线| 91麻豆精品国产91久久久久久| av一区二区三区在线| 日韩美女一区二区三区| 肉肉av福利一精品导航| 亚洲视频中文字幕| 国产资源在线一区| 在线播放91灌醉迷j高跟美女| 亚洲国产精品成人久久综合一区| 精品午夜久久福利影院| 欧美乱妇15p| 亚洲五月六月丁香激情| 在线看日本不卡| 亚洲精品乱码久久久久久日本蜜臀| 国产精品99久久久久久似苏梦涵| 日韩精品一区二区三区在线| 日韩av在线免费观看不卡| 91传媒视频在线播放| 亚洲裸体xxx| 色伊人久久综合中文字幕| 国产精品久久免费看| 国产成人精品免费一区二区| 国产日韩精品一区二区三区| 国内精品伊人久久久久av一坑 | 国产成人福利片| 久久色.com| 国产精品一卡二| 国产日韩欧美综合一区| 国产高清成人在线| 国产欧美一区二区精品久导航| 国产高清精品在线| 综合久久久久久久| 精品在线观看免费| 日本vs亚洲vs韩国一区三区| 亚洲国产高清aⅴ视频| 欧美日本乱大交xxxxx| 国产盗摄精品一区二区三区在线| 亚洲影视资源网| 一区二区三区日韩精品视频| 蜜桃视频第一区免费观看| 欧美浪妇xxxx高跟鞋交| 久久机这里只有精品| 欧美精品xxxxbbbb| 国产欧美一区在线| 蜜臀av国产精品久久久久| 午夜久久电影网| 蜜臀av亚洲一区中文字幕| 国产盗摄精品一区二区三区在线| 在线精品视频小说1| 亚洲视频在线观看三级| 国产v综合v亚洲欧| av电影天堂一区二区在线| 国产高清亚洲一区| 在线观看国产精品网站|