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

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

?? usb_regs.c

?? STM32F10xxx USB開發者套件
?? C
?? 第 1 頁 / 共 2 頁
字號:
*******************************************************************************/
void ClearEP_CTR_RX(u8 bEpNum)
{
  _ClearEP_CTR_RX(bEpNum);
}
/*******************************************************************************
* Function Name  : ClearEP_CTR_TX
* Description    : Clear the CTR_TX bit.
* Input          : bEpNum: Endpoint Number. 
* Output         : None.
* Return         : None.
*******************************************************************************/
void ClearEP_CTR_TX(u8 bEpNum)
{
  _ClearEP_CTR_TX(bEpNum);
}
/*******************************************************************************
* Function Name  : ToggleDTOG_RX
* Description    : Toggle the DTOG_RX bit.
* Input          : bEpNum: Endpoint Number. 
* Output         : None.
* Return         : None.
*******************************************************************************/
void ToggleDTOG_RX(u8 bEpNum)
{
  _ToggleDTOG_RX(bEpNum);
}
/*******************************************************************************
* Function Name  : ToggleDTOG_TX
* Description    : Toggle the DTOG_TX bit.
* Input          : bEpNum: Endpoint Number. 
* Output         : None.
* Return         : None.
*******************************************************************************/
void ToggleDTOG_TX(u8 bEpNum)
{
  _ToggleDTOG_TX(bEpNum);
}
/*******************************************************************************
* Function Name  : ClearDTOG_RX.
* Description    : Clear the DTOG_RX bit.
* Input          : bEpNum: Endpoint Number. 
* Output         : None.
* Return         : None.
*******************************************************************************/
void ClearDTOG_RX(u8 bEpNum)
{
  _ClearDTOG_RX(bEpNum);
}
/*******************************************************************************
* Function Name  : ClearDTOG_TX.
* Description    : Clear the DTOG_TX bit.
* Input          : bEpNum: Endpoint Number. 
* Output         : None.
* Return         : None.
*******************************************************************************/
void ClearDTOG_TX(u8 bEpNum)
{
  _ClearDTOG_TX(bEpNum);
}
/*******************************************************************************
* Function Name  : SetEPAddress
* Description    : Set the endpoint address.
* Input          : bEpNum: Endpoint Number.
*                  bAddr: New endpoint address.
* Output         : None.
* Return         : None.
*******************************************************************************/
void SetEPAddress(u8 bEpNum, u8 bAddr)
{
  _SetEPAddress(bEpNum, bAddr);
}
/*******************************************************************************
* Function Name  : GetEPAddress
* Description    : Get the endpoint address.
* Input          : bEpNum: Endpoint Number. 
* Output         : None.
* Return         : Endpoint address.
*******************************************************************************/
u8 GetEPAddress(u8 bEpNum)
{
  return(_GetEPAddress(bEpNum));
}
/*******************************************************************************
* Function Name  : SetEPTxAddr
* Description    : Set the endpoint Tx buffer address.
* Input          : bEpNum: Endpoint Number.
*                  wAddr: new address. 
* Output         : None.
* Return         : None.
*******************************************************************************/
void SetEPTxAddr(u8 bEpNum, u16 wAddr)
{
  _SetEPTxAddr(bEpNum, wAddr);
}
/*******************************************************************************
* Function Name  : SetEPRxAddr
* Description    : Set the endpoint Rx buffer address.
* Input          : bEpNum: Endpoint Number.
*                  wAddr: new address.
* Output         : None.
* Return         : None.
*******************************************************************************/
void SetEPRxAddr(u8 bEpNum, u16 wAddr)
{
  _SetEPRxAddr(bEpNum, wAddr);
}
/*******************************************************************************
* Function Name  : GetEPTxAddr
* Description    : Returns the endpoint Tx buffer address.
* Input          : bEpNum: Endpoint Number. 
* Output         : None.
* Return         : Rx buffer address. 
*******************************************************************************/
u16 GetEPTxAddr(u8 bEpNum)
{
  return(_GetEPTxAddr(bEpNum));
}
/*******************************************************************************
* Function Name  : GetEPRxAddr.
* Description    : Returns the endpoint Rx buffer address.
* Input          : bEpNum: Endpoint Number. 
* Output         : None.
* Return         : Rx buffer address.
*******************************************************************************/
u16 GetEPRxAddr(u8 bEpNum)
{
  return(_GetEPRxAddr(bEpNum));
}
/*******************************************************************************
* Function Name  : SetEPTxCount.
* Description    : Set the Tx count.
* Input          : bEpNum: Endpoint Number.
*                  wCount: new count value.
* Output         : None.
* Return         : None.
*******************************************************************************/
void SetEPTxCount(u8 bEpNum, u16 wCount)
{
  _SetEPTxCount(bEpNum, wCount);
}
/*******************************************************************************
* Function Name  : SetEPCountRxReg.
* Description    : Set the Count Rx Register value.
* Input          : *pdwReg: point to the register.
*                  wCount: the new register value.
* Output         : None.
* Return         : None.
*******************************************************************************/
void SetEPCountRxReg(u32 *pdwReg, u16 wCount)
{
  _SetEPCountRxReg(dwReg, wCount);
}
/*******************************************************************************
* Function Name  : SetEPRxCount
* Description    : Set the Rx count.
* Input          : bEpNum: Endpoint Number. 
*                  wCount: the new count value.
* Output         : None.
* Return         : None.
*******************************************************************************/
void SetEPRxCount(u8 bEpNum, u16 wCount)
{
  _SetEPRxCount(bEpNum, wCount);
}
/*******************************************************************************
* Function Name  : GetEPTxCount
* Description    : Get the Tx count.
* Input          : bEpNum: Endpoint Number. 
* Output         : None
* Return         : Tx count value.
*******************************************************************************/
u16 GetEPTxCount(u8 bEpNum)
{
  return(_GetEPTxCount(bEpNum));
}
/*******************************************************************************
* Function Name  : GetEPRxCount
* Description    : Get the Rx count.
* Input          : bEpNum: Endpoint Number. 
* Output         : None.
* Return         : Rx count value.
*******************************************************************************/
u16 GetEPRxCount(u8 bEpNum)
{
  return(_GetEPRxCount(bEpNum));
}
/*******************************************************************************
* Function Name  : SetEPDblBuffAddr
* Description    : Set the addresses of the buffer 0 and 1.
* Input          : bEpNum: Endpoint Number.  
*                  wBuf0Addr: new address of buffer 0. 
*                  wBuf1Addr: new address of buffer 1.
* Output         : None.
* Return         : None.
*******************************************************************************/
void SetEPDblBuffAddr(u8 bEpNum, u16 wBuf0Addr, u16 wBuf1Addr)
{
  _SetEPDblBuffAddr(bEpNum, wBuf0Addr, wBuf1Addr);
}
/*******************************************************************************
* Function Name  : SetEPDblBuf0Addr
* Description    : Set the Buffer 1 address.
* Input          : bEpNum: Endpoint Number
*                  wBuf0Addr: new address.
* Output         : None.
* Return         : None.
*******************************************************************************/
void SetEPDblBuf0Addr(u8 bEpNum, u16 wBuf0Addr)
{
  _SetEPDblBuf0Addr(bEpNum, wBuf0Addr);
}
/*******************************************************************************
* Function Name  : SetEPDblBuf1Addr
* Description    : Set the Buffer 1 address.
* Input          : bEpNum: Endpoint Number
*                  wBuf1Addr: new address.
* Output         : None.
* Return         : None.
*******************************************************************************/
void SetEPDblBuf1Addr(u8 bEpNum, u16 wBuf1Addr)
{
  _SetEPDblBuf1Addr(bEpNum, wBuf1Addr);
}
/*******************************************************************************
* Function Name  : GetEPDblBuf0Addr
* Description    : Returns the address of the Buffer 0.
* Input          : bEpNum: Endpoint Number.
* Output         : None.
* Return         : None.
*******************************************************************************/
u16 GetEPDblBuf0Addr(u8 bEpNum)
{
  return(_GetEPDblBuf0Addr(bEpNum));
}
/*******************************************************************************
* Function Name  : GetEPDblBuf1Addr
* Description    : Returns the address of the Buffer 1.
* Input          : bEpNum: Endpoint Number.
* Output         : None.
* Return         : Address of the Buffer 1.
*******************************************************************************/
u16 GetEPDblBuf1Addr(u8 bEpNum)
{
  return(_GetEPDblBuf1Addr(bEpNum));
}
/*******************************************************************************
* Function Name  : SetEPDblBuffCount
* Description    : Set the number of bytes for a double Buffer 
*                  endpoint.
* Input          : bEpNum,bDir, wCount
* Output         : None.
* Return         : None.
*******************************************************************************/
void SetEPDblBuffCount(u8 bEpNum, u8 bDir, u16 wCount)
{
  _SetEPDblBuffCount(bEpNum, bDir, wCount);
}
/*******************************************************************************
* Function Name  : SetEPDblBuf0Count
* Description    : Set the number of bytes in the buffer 0 of a double Buffer 
*                  endpoint.
* Input          : bEpNum, bDir,  wCount
* Output         : None.
* Return         : None.
*******************************************************************************/
void SetEPDblBuf0Count(u8 bEpNum, u8 bDir, u16 wCount)
{
  _SetEPDblBuf0Count(bEpNum, bDir, wCount);
}
/*******************************************************************************
* Function Name  : SetEPDblBuf1Count
* Description    : Set the number of bytes in the buffer 0 of a double Buffer 
*                  endpoint.
* Input          : bEpNum,  bDir,  wCount
* Output         : None.
* Return         : None.
*******************************************************************************/
void SetEPDblBuf1Count(u8 bEpNum, u8 bDir, u16 wCount)
{
  _SetEPDblBuf1Count(bEpNum, bDir, wCount);
}
/*******************************************************************************
* Function Name  : GetEPDblBuf0Count
* Description    : Returns the number of byte received in the buffer 0 of a double
*                  Buffer endpoint.
* Input          : bEpNum: Endpoint Number.
* Output         : None.
* Return         : Endpoint Buffer 0 count
*******************************************************************************/
u16 GetEPDblBuf0Count(u8 bEpNum)
{
  return(_GetEPDblBuf0Count(bEpNum));
}
/*******************************************************************************
* Function Name  : GetEPDblBuf1Count
* Description    : Returns the number of data received in the buffer 1 of a double
*                  Buffer endpoint.
* Input          : bEpNum: Endpoint Number.
* Output         : None.
* Return         : Endpoint Buffer 1 count.
*******************************************************************************/
u16 GetEPDblBuf1Count(u8 bEpNum)
{
  return(_GetEPDblBuf1Count(bEpNum));
}
/*******************************************************************************
* Function Name  : GetEPDblBufDir
* Description    : gets direction of the double buffered endpoint
* Input          : bEpNum: Endpoint Number. 
* Output         : None.
* Return         : EP_DBUF_OUT, EP_DBUF_IN,
*                  EP_DBUF_ERR if the endpoint counter not yet programmed.
*******************************************************************************/
EP_DBUF_DIR GetEPDblBufDir(u8 bEpNum)
{
  if ((u16)(*_pEPRxCount(bEpNum) & 0xFC00) != 0)
    return(EP_DBUF_OUT);
  else if (((u16)(*_pEPTxCount(bEpNum)) & 0x03FF) != 0)
    return(EP_DBUF_IN);
  else
    return(EP_DBUF_ERR);
}
/*******************************************************************************
* Function Name  : FreeUserBuffer
* Description    : free buffer used from the application realizing it to the line
                   toggles bit SW_BUF in the double buffered endpoint register
* Input          : bEpNum, bDir
* Output         : None.
* Return         : None.
*******************************************************************************/
void FreeUserBuffer(u8 bEpNum, u8 bDir)
{
  if (bDir == EP_DBUF_OUT)
  { /* OUT double buffered endpoint */
    _ToggleDTOG_TX(bEpNum);
  }
  else if (bDir == EP_DBUF_IN)
  { /* IN double buffered endpoint */
    _ToggleDTOG_RX(bEpNum);
  }
}

/*******************************************************************************
* Function Name  : ToWord
* Description    : merge two byte in a word.
* Input          : bh: byte high, bl: bytes low.
* Output         : None.
* Return         : resulted word.
*******************************************************************************/
u16 ToWord(u8 bh, u8 bl)
{
  u16 wRet;
  wRet = (u16)bl | ((u16)bh << 8);
  return(wRet);
}
/*******************************************************************************
* Function Name  : ByteSwap
* Description    : Swap two byte in a word.
* Input          : wSwW: word to Swap.
* Output         : None.
* Return         : resulted word.
*******************************************************************************/
u16 ByteSwap(u16 wSwW)
{
  u8 bTemp;
  u16 wRet;
  bTemp = (u8)(wSwW & 0xff);
  wRet =  (wSwW >> 8) | ((u16)bTemp << 8);
  return(wRet);
}

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu精品一区二区| 日本高清视频一区二区| 欧美草草影院在线视频| 免费欧美高清视频| 久久久久综合网| 成人午夜视频福利| 亚洲男人都懂的| 欧美日韩国产在线播放网站| 日韩精品一二三区| 26uuu亚洲综合色欧美| 国产成人日日夜夜| 亚洲欧美日韩电影| 欧美精品久久一区| 国产电影一区二区三区| 亚洲欧美中日韩| 3d成人h动漫网站入口| 国产高清精品久久久久| 亚洲日本在线天堂| 91精品国产日韩91久久久久久| 激情五月婷婷综合| 一区二区高清在线| 精品国产一区二区三区四区四| 国产成人aaaa| 香蕉影视欧美成人| 欧美韩日一区二区三区四区| 欧美在线|欧美| 精品一区二区三区香蕉蜜桃 | 亚洲影院久久精品| 欧美一二三区在线| av影院午夜一区| 日av在线不卡| 中文字幕一区二区视频| 欧美tickling网站挠脚心| 97超碰欧美中文字幕| 热久久免费视频| 亚洲欧洲av色图| 精品国产三级电影在线观看| 欧洲精品一区二区三区在线观看| 国产综合一区二区| 舔着乳尖日韩一区| 亚洲一卡二卡三卡四卡五卡| 久久久91精品国产一区二区精品| 欧美日韩日日骚| 99在线视频精品| 极品少妇一区二区| 天天影视网天天综合色在线播放| 国产精品免费视频一区| 精品久久国产97色综合| 欧美三级在线播放| 日本国产一区二区| www.欧美精品一二区| 精品一区二区三区免费| 日韩国产精品久久久久久亚洲| 国产精品美女久久久久久久久久久 | av在线免费不卡| 国内外成人在线| 日韩国产在线观看| 亚洲国产欧美日韩另类综合 | 337p亚洲精品色噜噜狠狠| 99久久伊人精品| 日本视频中文字幕一区二区三区| 成人av网站在线观看免费| 国产一区二区三区电影在线观看| 亚洲va欧美va人人爽午夜| 亚洲男人的天堂在线观看| 国产精品欧美极品| 国产午夜精品久久| 久久久久久免费毛片精品| 精品久久久久av影院| 日韩一二在线观看| 制服丝袜一区二区三区| 在线不卡一区二区| 51精品久久久久久久蜜臀| 欧美日韩五月天| 欧美日韩激情一区| 91精品国产91综合久久蜜臀| 欧美久久久久久久久中文字幕| 欧美日韩在线亚洲一区蜜芽| 欧美性videosxxxxx| 欧美无砖专区一中文字| 欧美日韩国产大片| 欧美一卡二卡在线观看| 欧美mv日韩mv亚洲| 久久久精品综合| 国产精品久久久久久久久免费桃花| 日本一区二区成人| 亚洲欧美影音先锋| 一区二区欧美国产| 日韩专区中文字幕一区二区| 免费av成人在线| 韩日欧美一区二区三区| 成人黄页在线观看| 在线日韩国产精品| 91精品综合久久久久久| 精品国产伦一区二区三区观看体验| 久久久久久夜精品精品免费| 国产精品午夜电影| 亚洲综合在线第一页| 日韩综合一区二区| 国产精品白丝jk白祙喷水网站| 9l国产精品久久久久麻豆| 欧美天堂一区二区三区| 日韩一区二区精品| 国产精品区一区二区三区| 亚洲国产一区二区视频| 另类综合日韩欧美亚洲| 成a人片亚洲日本久久| 欧美视频中文字幕| 久久亚洲二区三区| 亚洲精品日日夜夜| 激情伊人五月天久久综合| av亚洲精华国产精华精华 | 国产一区二区三区| 成人av在线资源| 欧美一区二区三级| 国产精品丝袜久久久久久app| 亚洲一区二区影院| 国产一区二区h| 欧美视频一区二| 国产日韩欧美麻豆| 丝袜亚洲另类丝袜在线| 国产成人在线网站| 欧美日韩成人综合在线一区二区| 久久久影院官网| 亚洲va国产天堂va久久en| 国产精品一区二区x88av| 欧美色精品天天在线观看视频| 久久久夜色精品亚洲| 丝袜美腿一区二区三区| 97久久超碰国产精品| 久久综合视频网| 亚洲mv在线观看| 99亚偷拍自图区亚洲| 欧美刺激午夜性久久久久久久| 亚洲精品亚洲人成人网| 国产成人aaa| 精品国产乱码久久久久久闺蜜| 亚洲综合色成人| 99久久精品免费| 久久久久久久久久久久电影| 亚洲国产cao| 91美女在线视频| 国产肉丝袜一区二区| 久久国产视频网| 91精品在线一区二区| 一区二区三区**美女毛片| 99视频在线观看一区三区| 亚洲精品在线免费观看视频| 亚洲成av人片在线| 91极品美女在线| 一区二区三区中文免费| 91亚洲国产成人精品一区二区三| 国产亚洲1区2区3区| 国产一级精品在线| xfplay精品久久| 狠狠色丁香久久婷婷综合_中| 日韩网站在线看片你懂的| 五月天久久比比资源色| 欧美日韩一二三区| 亚洲国产精品一区二区久久| 在线亚洲一区观看| 亚洲日本va午夜在线影院| 波多野结衣在线aⅴ中文字幕不卡| 久久精品在这里| 国产精品一二三四区| 国产欧美一区二区精品性| 国产成人综合在线| 国产精品伦理在线| 99精品视频一区二区三区| 亚洲三级在线免费观看| 91视频国产资源| 亚洲一区二区三区中文字幕 | 天堂蜜桃91精品| 中文字幕免费在线观看视频一区| 国产一区二区三区免费播放 | zzijzzij亚洲日本少妇熟睡| 中文字幕+乱码+中文字幕一区| 成人国产免费视频| 亚洲女同一区二区| 欧美日韩国产片| 日本不卡一区二区三区| 精品福利在线导航| 国产91在线观看丝袜| 亚洲丝袜美腿综合| 欧美日韩亚洲国产综合| 美女一区二区三区| 久久婷婷久久一区二区三区| 国产v日产∨综合v精品视频| 中文字幕在线免费不卡| 欧美日韩在线不卡| 麻豆成人综合网| 国产精品热久久久久夜色精品三区| 色综合久久综合网| 五月婷婷综合网| 久久新电视剧免费观看| 99精品久久免费看蜜臀剧情介绍| 夜夜嗨av一区二区三区| 日韩欧美一级二级三级久久久| 国产精品夜夜爽| 亚洲成人动漫一区|