<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): idle

  // 功能說(shuō)明: 等待定時(shí)器中斷時(shí)的執行程序,與具體應用有關(guān)

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

  void idle()

  {

  }

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

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

  // 功能說(shuō)明: 中斷處理函數,與硬件無(wú)關(guān),通用函數

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

  void timer_isr(void) /*中斷服務(wù)程序*/

  {

  char mask, start_bit, flag_in;

  //發(fā)送程序

  if ( flag_tx_ready )

  {

  if ( --timer_tx_ctr=0 )

  {

  mask = internal_tx_buffer1;

  internal_tx_buffer >>= 1;

  if ( mask )

  {

  set_tx_pin_high();

  }

  else

  {

  set_tx_pin_low();

  }

  timer_tx_ctr = 3;

  if ( --bits_left_in_tx=0 )

  {

  flag_tx_ready = FALSE;

  }

  }

  }

  // 接收程序

  if ( flag_rx_off==FALSE )

  {

  if ( flag_rx_waiting_for_stop_bit )

  {

  if ( --timer_rx_ctr=0 )

  {

  flag_rx_waiting_for_stop_bit = FALSE;

  flag_rx_ready = FALSE;

  internal_rx_buffer = 0xFF;

  if ( internal_rx_buffer!=0xC2 )

  {

  inbuf[qin] = internal_rx_buffer;

  if ( ++qin>=IN_BUF_SIZE )

  {

  qin = 0;

  }

  }

  }

  }

  else // rx_test_busy接收忙

  {

  if ( flag_rx_ready==FALSE )

  {

  start_bit = get_rx_pin_status();

  // 判斷起始位

  if ( start_bit==0 )

  {

  flag_rx_ready = TRUE;

  internal_rx_buffer = 0;

  timer_rx_ctr = 4;

  bits_left_in_rx =

  rx_num_of_bits;

  rx_mask = 1;

  }

  }

  else

  {

  if ( --timer_rx_ctr=0 )

  {

  timer_rx_ctr = 3;

  flag_in =

  get_rx_pin_status();

  if ( flag_in )

  {

  internal_rx_buffer |= rx_mask;

  }

  rx_mask = 1;

  if ( --bits_left_in_rx=0 )

  {

  flag_rx_waiting_for_stop_bit = TRUE;

  }

  }

  }

  }

  }

  }



關(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>