乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      STM32F10XXX串口UART1通訊,將printf scanf等重定向到串口

       rookie 2012-05-12
      /***************************************************************************************
      *說明:用于STM32F10XXX串口UART1通訊,可以將printf scanf等重定向到串口
      *環(huán)境:KEIL FOR ARM MDK3.11
      *硬件:對應(yīng)PA9-UART1TX PA10-UART1RX,使用USART1
      *版本:V0.1
      *作者:alien2006
      *備注:對應(yīng)的PA9/PA10以及USART1已由UART_Init函數(shù)自身初始化,無需在程序中完成
      ***************************************************************************************/
      #ifndef __UART_INTERFACE_H
      #define __UART_INTEFFACE_H

      #include "stm32f10x_lib.h"
      #include "stdio.h"

      /*私有變量----------------------------------------------------------------------------*/


      /*函數(shù)聲明----------------------------------------------------------------------------*/
      void UART_Init(unsigned long UART_baud); //波特率,如115200
      int fputc(int ch, FILE *f); //fputc重定向
      int fgetc(FILE *f); //fgetc重定向


      #endif

      下面是.C的部分內(nèi)容,省去了初始化的部分,自己看著寫好了
      /*******************************************************************************
      * Function Name : int fputc(int ch, FILE *f)
      * Description : Retargets the C library printf function to the USART.printf重定向
      * Input : None
      * Output : None
      * Return : None
      *******************************************************************************/
      int fputc(int ch, FILE *f)
      {
      /* Write a character to the USART */
      USART_SendData(USART1, (u8) ch);

      /* Loop until the end of transmission */
      while(!(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == SET))
      {
      }

      return ch;
      }

      /*******************************************************************************
      * Function Name : int fgetc(FILE *f)
      * Description : Retargets the C library printf function to the USART.fgetc重定向
      * Input : None
      * Output : None
      * Return : 讀取到的字符
      *******************************************************************************/
      int fgetc(FILE *f)
      {
      /* Loop until received a char */
      while(!(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == SET))
      {
      }

      /* Read a character from the USART and RETURN */
      return (USART_ReceiveData(USART1));
      }

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多