<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機通用模擬串口C程序

單片機通用模擬串口C程序

作者: 時(shí)間:2013-03-15 來(lái)源:網(wǎng)絡(luò ) 收藏

  //-------------------------------------------------------------------------------------------------------

  // 函數名稱(chēng): init_uart

  // 功能說(shuō)明: 初始化異步串口,與硬件無(wú)關(guān),通用函數

  //--------------------------------------------------------------------------------------------------------

  void init_uart( void )

  {

  flag_tx_ready = FALSE;

  flag_rx_ready = FALSE;

  flag_rx_waiting_for_stop_bit = FALSE;

  flag_rx_off = FALSE;

  rx_num_of_bits = 10;

  tx_num_of_bits = 10;

  set_tx_pin_low();

  timer_set();

  set_timer_interrupt(); // 使能計時(shí)器中斷

  }

  //-------------------------------------------------------------------------------------------------------

  // 函數名稱(chēng): get_char

  // 輸入參數: 無(wú)

  // 輸出參數: ch,接收數據

  // 功能說(shuō)明: 接收一個(gè)字節,與硬件無(wú)關(guān),通用函數

  //--------------------------------------------------------------------------------------------------------

  char get_char( void )

  {

  char ch;

  do

  {

  while ( qout==qin )

  {

  idle();

  }

  ch = inbuf[qout] 0xFF;

  if ( ++qout>=IN_BUF_SIZE )

  {

  qout = 0;

  }

  }

  while ( ch==0x0A || ch==0xC2 );

  return( ch );

  }

  //-----------------------------------------------------------------------------------------

  // 函數名稱(chēng): put_char

  // 功能說(shuō)明: 接收一個(gè)字節,與硬件無(wú)關(guān),通用函數

  //-----------------------------------------------------------------------------------------

  void put_char( char ch )

  {

  while ( flag_tx_ready );

  user_tx_buffer = ch;

  // 喚醒串口

  timer_tx_ctr = 3;

  bits_left_in_tx = tx_num_of_bits;

  internal_tx_buffer = (user_tx_buffer1) | 0x200;

  flag_tx_ready = TRUE;

  }

  //-------------------------------------------------------------------------------------------------------

  // 函數名稱(chēng): flush_input_buffer

  // 功能說(shuō)明:初始化緩沖區,與硬件無(wú)關(guān),通用函數

  //--------------------------------------------------------------------------------------------------------

  void flush_input_buffer( void )

  {

  qin = 0;

  qout = 0;

  }

  //-----------------------------------------------------------------------------------------

  // 函數名稱(chēng): kbhit

  // 功能說(shuō)明: 判斷接收指針與發(fā)送指針是否相等,與硬件無(wú)關(guān),通用函數

  //-----------------------------------------------------------------------------------------

  char kbhit( void )

  {

  return( qin!=qout );

  }

  //-----------------------------------------------------------------------------------------

  // 函數名稱(chēng): turn_rx_on

  // 功能說(shuō)明: 開(kāi)始接收,與硬件無(wú)關(guān),通用函數

  //-----------------------------------------------------------------------------------------

  void turn_rx_on( void )

  {

  flag_rx_off = FALSE;

  }

  //-----------------------------------------------------------------------------------------

  // 函數名稱(chēng): turn_rx_off

  // 功能說(shuō)明: 停止接收,與硬件無(wú)關(guān),通用函數

  //-----------------------------------------------------------------------------------------

  void turn_rx_off( void )

  {

  flag_rx_off = TRUE;

  }

  ;************************************************************


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 單片機 模擬串口 C程序

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>