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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? uart.c

?? FREERTOS的3.2.4版,關(guān)鍵是這個包里面含有FreeRTOS的官方網(wǎng)站的鏡像,內(nèi)含F(xiàn)reeRTOS的完全文檔和好多種CPU的移植成果.
?? C
?? 第 1 頁 / 共 2 頁
字號:
  else                  // if FIFO DISABLED
    while (!(UARTx->SR & UART_TxEmpty)); // while the transmit shift register not empty
  UARTx->TxBUFR = *Data;
}

/*******************************************************************************
* Function Name  : UART_DataSend
* Description    : This function sends several data bytes to the selected UART.
* Input 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : A pointer to the data to send
* Input 3        : The data length in bytes
* Output         : None
* Return         : None
*******************************************************************************/
void UART_DataSend(UART_TypeDef *UARTx, u8 *Data, u8 DataLength)
{
  while(DataLength--)
  {
    UART_ByteSend(UARTx,Data);
    Data++;
  }
}

/*******************************************************************************
* Function Name  : UART_9BitDataSend
* Description    : This function sends several 9 bits data bytes to the selected UART.
* Input 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : A pointer to the data to send
* Input 3        : The data length
* Output         : None
* Return         : None
*******************************************************************************/
void UART_9BitDataSend(UART_TypeDef *UARTx, u16 *Data, u8 DataLength)
{
  while(DataLength--)
  {
    UART_9BitByteSend(UARTx,Data);
    Data++;
  }
}

/*******************************************************************************
* Function Name  : UART_StringSend
* Description    : This function sends a string to the selected UART.
* Input 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : A pointer to the string to send
* Output         : None
* Return         : None
*******************************************************************************/
void UART_StringSend(UART_TypeDef *UARTx, u8 *String)
{
  u8 *Data=String;
  while(*Data != '\0')
    UART_ByteSend(UARTx, Data++);
  *Data='\0';
  UART_ByteSend(UARTx, Data);
}

/*******************************************************************************
* Function Name  : UART_ByteReceive
* Description    : This function gets a data byte from the selected UART.
* Input 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : A pointer to the buffer where the data will be stored
* Input 3        : The time-out period
* Output         : The received data
* Return         : The UARTx.SR register contents
*******************************************************************************/
u16 UART_ByteReceive(UART_TypeDef *UARTx, u8 *Data, u8 TimeOut)
{
   u16 wStatus;
   UARTx->TOR=TimeOut;// reload the Timeout counter
   while (!((wStatus=UARTx->SR) & (UART_TimeOutIdle|UART_RxHalfFull|UART_RxBufFull)));// while the UART_RxFIFO is empty and no Timeoutidle
   *Data = (u8)UARTx->RxBUFR; // then read the Receive Buffer Register
   return wStatus;
}

/*******************************************************************************
* Function Name  : UART_9BitByteReceive
* Description    : This function gets a 9 bits data byte from the selected UART.
* Input 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : A pointer to the buffer where the data will be stored
* Input 3        : The time-out period value
* Output         : The received data
* Return         : The UARTx.SR register contents
*******************************************************************************/
u16 UART_9BitByteReceive(UART_TypeDef *UARTx, u16 *Data, u8 TimeOut)
{
  u16 wStatus;
  UARTx->TOR=TimeOut;// reload the Timeout counter
  while (!((wStatus=UARTx->SR) & (UART_TimeOutIdle|UART_RxHalfFull|UART_RxBufFull)));// while the UART_RxFIFO is empty and no Timeoutidle
  *Data = (u16)UARTx->RxBUFR; // then read the RxBUFR
  return wStatus;
}

/*******************************************************************************
* Function Name  : UART_DataReceive
* Description    : This function gets 8 bits data bytes from the selected UART.
* Input 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : A pointer to the buffer where the data will be stored
* Input 3        : The data length
* Input 4        : The time-out period value
* Output         : The received data
* Return         : The UARTx.SR register contents
*******************************************************************************/
u16 UART_DataReceive(UART_TypeDef *UARTx, u8 *Data, u8 DataLength, u8 TimeOut)
{
  u16 wStatus;
  while(DataLength--)
    wStatus=UART_ByteReceive(UARTx,Data++,TimeOut);
  return wStatus;
}

/*******************************************************************************
* Function Name  : UART_9BitDataReceive
* Description    : This function gets 9 bits data bytes from the selected UART.
* Input 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : A pointer to the buffer where the data will be stored
* Input 3        : The data length
* Input 4        : The time-out value
* Output         : The received data
* Return         : The UARTx.SR register contents
*******************************************************************************/
u16 UART_9BitDataReceive(UART_TypeDef *UARTx, u16 *Data, u8 DataLength, u8 TimeOut)
{
  u16 wStatus;
  while(DataLength--)
    wStatus=UART_9BitByteReceive(UARTx,Data++,TimeOut);
  return wStatus;
}

/*******************************************************************************
* Function Name  : UART_StringReceive
* Description    : This function gets 8 bits data bytes from the selected UART.
* Input 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : A pointer to the buffer where the string will be stored
* Output         : The received string
* Return         : The UARTx.SR register contents
*******************************************************************************/
u16 UART_StringReceive(UART_TypeDef *UARTx, u8 *Data)
{
  u8 *pSTRING=Data;
  u16 wStatus;
  do
  {
    while (!((wStatus=UARTx->SR) & (UART_RxHalfFull|UART_RxBufFull)));// while the UART_RxFIFO is empty and no Timeoutidle
    *(pSTRING++) = (u8)UARTx->RxBUFR; // then read the RxBUFR
  } while((*(pSTRING - 1)!=0x0D)&(*(pSTRING - 1)!='\0'));
  *(pSTRING - 1)='\0';
  return wStatus;
}

#ifdef USE_SERIAL_PORT
/*******************************************************************************
* Function Name  : sendchar
* Description    : This function sends a character to the selected UART.
* Input 1        : A pointer to the character to send.
* Output         : None
* Return         : None
*******************************************************************************/
void sendchar( char *ch )
{
   #ifdef USE_UART0
     #define  UARTx  UART0
   #endif /* Use_UART0 */

   #ifdef USE_UART1
     #define  UARTx  UART1
   #endif /* Use_UART1 */

   #ifdef USE_UART2
     #define  UARTx  UART2
   #endif /* Use_UART2 */

   #ifdef USE_UART3
     #define  UARTx  UART3
   #endif /* Use_UART3 */

   UART_ByteSend(UARTx,(u8 *)ch);
}
#endif /* USE_SERIAL_PORT */

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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美久久久一区| 国产成人综合自拍| 亚洲毛片av在线| 日韩美女久久久| 亚洲色图丝袜美腿| 一区二区三区在线免费观看| 国产精品美女一区二区| 国产精品久久久久影院老司 | 麻豆精品一二三| 亚洲成人在线观看视频| 五月天激情小说综合| 日本不卡高清视频| 国产乱子伦一区二区三区国色天香| 麻豆精品国产91久久久久久| 九九国产精品视频| 国产suv精品一区二区三区| 国产91丝袜在线播放| 色综合天天综合网天天狠天天| 欧美中文字幕一区| 日韩精品一区二区三区视频播放 | 精品一区二区三区不卡| 黄色精品一二区| 99在线热播精品免费| 欧美怡红院视频| 日韩精品一区二| ●精品国产综合乱码久久久久 | 欧美男男青年gay1069videost| 在线播放91灌醉迷j高跟美女| 在线电影国产精品| 欧美一区二区三区日韩视频| 精品嫩草影院久久| 1000部国产精品成人观看| 亚洲午夜激情av| 国产精品一二一区| 精品视频在线视频| 国产欧美一区二区在线| 一区二区三区视频在线观看| 免费xxxx性欧美18vr| 成人av免费观看| 欧美大片免费久久精品三p| 国产精品福利影院| 激情综合色丁香一区二区| 成人av影视在线观看| 91精品国产品国语在线不卡| 国产精品麻豆欧美日韩ww| 日韩高清在线不卡| 色女孩综合影院| 久久先锋影音av鲁色资源网| 亚洲成av人片观看| av午夜一区麻豆| 国产亚洲欧洲一区高清在线观看| 亚洲第一av色| 在线日韩国产精品| 国产清纯在线一区二区www| 日av在线不卡| 欧美精品色综合| 一区二区三区日韩欧美| 成人在线综合网站| www国产精品av| 国产精品一区二区久久精品爱涩 | 国产精品传媒在线| 国产高清不卡一区| 26uuu久久天堂性欧美| 亚洲国产你懂的| 在线精品视频小说1| 国产精品污网站| 不卡的电影网站| 国产精品久久久久影院| 国产成人亚洲综合色影视| 精品人伦一区二区色婷婷| 天天综合色天天综合| 欧美日韩一二三区| 亚洲图片自拍偷拍| 欧美日韩dvd在线观看| 视频一区在线视频| 日韩欧美在线1卡| 激情综合一区二区三区| 26uuu国产电影一区二区| 国产乱码精品一品二品| 国产亚洲自拍一区| 成人三级在线视频| 亚洲欧美国产三级| 欧美欧美欧美欧美| 久久不见久久见免费视频7| 久久久亚洲高清| 成人免费看黄yyy456| 亚洲欧美日韩一区二区三区在线观看| 97精品国产露脸对白| 亚洲第一成人在线| 精品女同一区二区| 99久久综合国产精品| 依依成人精品视频| 3d动漫精品啪啪| 国产一区二区三区| 亚洲免费在线电影| 5566中文字幕一区二区电影| 看电视剧不卡顿的网站| 国产欧美中文在线| 欧美性受xxxx黑人xyx| 麻豆一区二区在线| 亚洲色图19p| 欧美日韩高清影院| 亚洲综合色噜噜狠狠| 日韩欧美一级二级三级| aaa亚洲精品| 美女脱光内衣内裤视频久久网站| 久久午夜羞羞影院免费观看| 91麻豆福利精品推荐| 蜜臂av日日欢夜夜爽一区| 欧美国产日韩一二三区| 日本韩国视频一区二区| 免费人成在线不卡| 亚洲欧洲精品一区二区精品久久久| 欧美日韩一区二区欧美激情| 经典一区二区三区| 一区二区欧美在线观看| 久久蜜臀精品av| 欧美另类变人与禽xxxxx| 国产成人精品免费在线| 丝袜美腿亚洲色图| 中文字幕一区三区| 精品国产乱码久久久久久浪潮| 成人精品免费网站| 黄页网站大全一区二区| 视频一区中文字幕| 一区二区三区四区视频精品免费| 久久综合久久综合亚洲| 欧美日韩电影在线| 91看片淫黄大片一级在线观看| 韩国一区二区三区| 免费成人av在线| 日韩影院免费视频| 亚洲韩国精品一区| 一级特黄大欧美久久久| 国产精品久久久久久一区二区三区| 日韩一区二区免费在线电影| 91久久一区二区| 丰满亚洲少妇av| 国产露脸91国语对白| 久久er99热精品一区二区| 日韩电影在线一区二区| 亚洲h动漫在线| 一区二区高清在线| 亚洲一区二区三区四区在线免费观看 | 国产揄拍国内精品对白| 丝袜美腿成人在线| 丝袜脚交一区二区| 日日摸夜夜添夜夜添精品视频 | 亚洲一区在线观看免费观看电影高清 | 在线观看三级视频欧美| 99精品视频在线播放观看| 成人国产精品免费| 成人精品国产免费网站| 粉嫩13p一区二区三区| 成人免费看黄yyy456| 99视频精品全部免费在线| 99re在线视频这里只有精品| 成a人片亚洲日本久久| 97久久久精品综合88久久| 色哟哟一区二区在线观看| 91福利在线导航| 这里是久久伊人| 久久亚洲综合色| 亚洲国产成人一区二区三区| 亚洲欧洲日产国码二区| 亚洲精品成人悠悠色影视| 亚洲综合色在线| 美女性感视频久久| 国产乱妇无码大片在线观看| 成a人片国产精品| 欧美日韩国产一级| 日韩欧美不卡在线观看视频| 久久久99免费| 亚洲乱码中文字幕综合| 日韩av午夜在线观看| 国产乱码精品1区2区3区| 色综合天天综合网国产成人综合天| 在线观看视频欧美| 精品国产污网站| 亚洲人成精品久久久久久| 午夜影院久久久| 国产suv一区二区三区88区| 在线观看一区二区精品视频| 日韩欧美国产麻豆| 亚洲女与黑人做爰| 久久狠狠亚洲综合| 91免费视频网址| 精品久久久久久久久久久久久久久 | 国产精品蜜臀av| 天天影视涩香欲综合网| 国产一区在线精品| 欧美三级中文字幕| 欧美国产97人人爽人人喊| 亚洲成人综合网站| 丁香婷婷综合激情五月色| 欧美日韩高清一区| 亚洲日本va在线观看| 国产在线精品视频| 欧美日韩国产免费| 亚洲欧洲精品成人久久奇米网|