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

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

?? serial.c

?? 基于Keil RTX51Tiny的遠程監控采集系統從設備開發
?? C
字號:
/****************************************/
/* Copyright (c) 2004, 63研究所 苗龍    */
/* All rights reserved.                 */
/* 作    者:苗龍                       */
/****************************************/

/******************************************************************************/
/*                                                                            */
/*       SERIAL.C:  Interrupt Controlled Serial Interface for RTX-51 tiny     */
/*                                                                            */
/******************************************************************************/


#include <reg52.h>                    /* special function register 8052       */
#include <rtx51tny.h>                 /* RTX-51 tiny functions & defines      */

#define  OLEN  8                      /* size of serial transmission buffer   */
unsigned char  ostart=0;                /* transmission buffer start index      */
unsigned char  oend=0;                  /* transmission buffer end index        */
char  outbuf[OLEN];          /* storage for transmission buffer      */
unsigned char  otask = 0xff;          /* task number of output task           */

#define  ILEN  8                      /* size of serial receiving buffer      */
unsigned char  istart=0;                /* receiving buffer start index         */
unsigned char  iend=0;                  /* receiving buffer end index           */
char  inbuf[ILEN];           /* storage for receiving buffer         */
unsigned char  itask = 0xff;          /* task number of output task           */


bit   sendfull=0;                       /* flag: marks transmit buffer full     */
bit   sendactive=0;                     /* flag: marks transmitter active       */

/******************************************************************************/
/*       putbuf:  write a character to SBUF or transmission buffer            */
/******************************************************************************/
void putbuf (char c)  {
  if (!sendfull)  {                   /* transmit only if buffer not full     */
    if (!sendactive)  {  /* if transmitter not active:           */
      sendactive = 1;                 /* transfer the first character direct  */
      SBUF = c;                       /* to SBUF to start transmission        */
    }
    else  {                           /* otherwize:                           */
	  outbuf[ostart++ % OLEN] = c;
	  ostart=ostart% OLEN;
	if (((ostart+1)%OLEN)==oend)  sendfull = 1;
    }                               
  }
}


/******************************************************************************/
/*       putchar:  interrupt controlled putchar function                      */
/******************************************************************************/
char putchar (char c)  {

  while (sendfull)  {                 
    otask = os_running_task_id ();   
    os_wait (K_SIG, 0, 0);            
    otask = 0xff;                     
  }
  putbuf (c);                         /* send character                       */
  return (c);                         /* return character: ANSI requirement   */
}


/******************************************************************************/
/*       _getkey:  interrupt controlled _getkey                               */
/******************************************************************************/
char _getkey (void)  {
  char tmp;
  while  (iend == istart)  {
    itask = os_running_task_id ();    /* set input task number                */
    os_wait (K_SIG, 0, 0);            /* RTX-51 call: wait for signal         */
    itask = 0xff;                     /* clear input task number              */
  }
  tmp=inbuf[iend++% ILEN];
  iend=iend% ILEN;
  return (tmp);
}


/******************************************************************************/
/*       serial:  serial receiver / transmitter interrupt                     */
/******************************************************************************/
serial () interrupt 4 using 2  {     /* use registerbank 2 for interrupt      */
  unsigned char c;
  bit   start_trans = 0;

  if (RI)  {                         /* if receiver interrupt                 */
    c = SBUF;                        /* read character                        */
    RI = 0;                          /* clear interrupt request flag          */
		if(((istart+1)%ILEN)!=iend){
		  inbuf[istart++ % ILEN] = c;
		  istart=istart % ILEN;
        }
        if (itask != 0xFF) isr_send_signal (itask);
  }

  if (TI || start_trans)  { 
    TI = 0;                     
	  if(ostart!=oend){
		SBUF = outbuf[oend++ %OLEN]; 
		oend=oend%OLEN;
        sendfull = 0; 
        if (otask != 0xFF)  isr_send_signal (otask);
    }
    else sendactive = 0;            
  }

}
/******************************************************************************/
/*       serial_init: initialize serial interface                             */
/******************************************************************************/
void serial_init (void)  {
  SCON  = 0x50;                      /* mode 1: 8-bit UART, enable receiver   */
  TMOD |= 0x20;                      /* timer 1 mode 2: 8-Bit reload          */
  TH1   = 0xf4;                      /* reload value 2400 baud                */
  TR1   = 1;                         /* timer 1 run                           */
  ES    = 1;                         /* enable serial port interrupt          */
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级片在线播放| 亚洲欧美日韩国产手机在线| 2024国产精品| 亚洲香肠在线观看| 丁香激情综合五月| 日韩精品一区二区在线| 亚洲成人在线网站| 91麻豆自制传媒国产之光| 久久这里只有精品6| 图片区小说区区亚洲影院| 99热精品一区二区| 国产亚洲欧美色| 久久99最新地址| 欧美一三区三区四区免费在线看| 国产精品久久久久久久久久久免费看| 肉丝袜脚交视频一区二区| 在线视频欧美区| 亚洲少妇屁股交4| 国产成人亚洲综合色影视| 日韩精品一区二区三区三区免费| 三级久久三级久久久| 在线亚洲一区二区| 一区二区三区四区乱视频| 成人永久aaa| 亚洲国产精品av| 黄色资源网久久资源365| 日韩亚洲欧美一区二区三区| 成人网男人的天堂| www国产精品av| 国产精品一区二区免费不卡| 国产亚洲午夜高清国产拍精品| 国产精品资源站在线| 久久久久久久国产精品影院| 国产一区二区三区四区五区入口 | 亚洲国产精品成人综合| 国产精品88av| 亚洲欧洲性图库| 91免费在线视频观看| 亚洲激情图片一区| 欧美日韩成人一区二区| 蜜臀av一级做a爰片久久| 精品国产乱码久久久久久蜜臀| 国产精品综合久久| 国产精品亲子乱子伦xxxx裸| 色综合一个色综合| 日韩高清一区二区| 久久久www成人免费毛片麻豆| 国产v日产∨综合v精品视频| 国产精品你懂的在线欣赏| 91一区二区在线观看| 亚洲国产精品久久不卡毛片| 日韩欧美国产麻豆| 成人毛片老司机大片| 亚洲男人的天堂一区二区| 欧美揉bbbbb揉bbbbb| 日韩精品一二三| 国产网站一区二区| 欧美无砖专区一中文字| 久久精品国产77777蜜臀| 中文字幕第一区第二区| 欧美亚洲尤物久久| 激情五月婷婷综合| 亚洲精品老司机| 精品国产第一区二区三区观看体验 | 欧美综合色免费| 精品一区二区免费| 综合中文字幕亚洲| 精品久久久久久亚洲综合网 | 中文字幕精品三区| 欧美日本韩国一区| 国产精品综合在线视频| 亚洲成人av免费| 国产精品理论在线观看| 欧美日韩国产123区| 处破女av一区二区| 日韩国产精品久久久久久亚洲| 国产欧美1区2区3区| 欧美日韩国产高清一区二区| 成人精品高清在线| 美女性感视频久久| 亚洲v中文字幕| 136国产福利精品导航| 久久影院视频免费| 欧美高清精品3d| 99久久精品国产精品久久| 久久精品国产久精国产| 亚洲国产精品久久人人爱| 久久久国产午夜精品| 在线电影国产精品| 欧美中文字幕一二三区视频| 成人国产精品免费观看动漫| 久久99国产精品久久| 日韩精品一区第一页| 亚洲精品视频免费看| 国产精品色哟哟| 玉米视频成人免费看| 国产亚洲欧美在线| 91精品国产色综合久久ai换脸| 99精品欧美一区二区三区小说| 久久99国内精品| 麻豆免费看一区二区三区| 亚洲成人动漫精品| 亚洲一区二区三区免费视频| 亚洲欧洲美洲综合色网| 久久久99久久| 欧美激情自拍偷拍| 国产色爱av资源综合区| 久久综合九色综合97婷婷女人 | 日本韩国欧美一区| 99综合电影在线视频| 不卡高清视频专区| 国产91丝袜在线播放| 高清国产午夜精品久久久久久| 狠狠狠色丁香婷婷综合激情| 韩国v欧美v亚洲v日本v| 国产一区 二区 三区一级| 国产乱人伦偷精品视频免下载| 狠狠色综合日日| 福利视频网站一区二区三区| 国产成人aaa| 91视频你懂的| 在线观看精品一区| 欧美日韩高清一区二区不卡| 制服丝袜一区二区三区| 欧美大片国产精品| 久久亚洲私人国产精品va媚药| 久久久国产一区二区三区四区小说| 国产拍揄自揄精品视频麻豆| 一区二区中文字幕在线| 亚洲激情av在线| 天堂成人国产精品一区| 国产在线视频精品一区| 成人免费va视频| 在线观看区一区二| 日韩一二三区视频| 欧美国产日产图区| 亚洲国产综合在线| 国产最新精品免费| 色综合久久久久久久| 日韩一区国产二区欧美三区| 久久久久99精品国产片| 亚洲精品老司机| 久久99国产精品久久| 一本到一区二区三区| 日韩欧美一级片| 国产精品福利一区| 手机精品视频在线观看| 国产一区二区h| 欧洲亚洲国产日韩| www激情久久| 亚洲国产精品自拍| 国产成人精品免费在线| 欧美精品乱码久久久久久按摩| 久久视频一区二区| 亚洲成人精品一区二区| 国产成人精品影院| 欧美一区二区免费观在线| 国产精品第13页| 精品写真视频在线观看| 在线一区二区视频| 国产喂奶挤奶一区二区三区| 天天综合色天天综合| 91美女片黄在线| 久久久99精品免费观看不卡| 午夜精品久久久久久久久久| 成人精品小蝌蚪| 精品国产免费视频| 图片区小说区区亚洲影院| 99久久精品免费| 国产亚洲成aⅴ人片在线观看 | 国产乱人伦精品一区二区在线观看 | 97久久超碰国产精品| 久久人人爽爽爽人久久久| 亚洲超丰满肉感bbw| 色婷婷av一区二区| 国产精品久久久久久久裸模 | 日本乱人伦一区| 国产精品乱码一区二区三区软件| 日本成人超碰在线观看| 欧美性大战久久久久久久蜜臀 | 色婷婷综合中文久久一本| 欧美韩国日本综合| 国产一区二区三区久久悠悠色av| 欧美福利视频导航| 一区二区三区四区视频精品免费| 成人a区在线观看| 国产亚洲一区字幕| 国产一区二区在线观看免费| 日韩午夜激情视频| 蜜桃视频免费观看一区| 日韩视频一区二区| 美女视频一区二区三区| 宅男在线国产精品| 午夜影视日本亚洲欧洲精品| 欧美最新大片在线看 | 精品一区二区三区的国产在线播放| 51精品久久久久久久蜜臀| 日本色综合中文字幕| 欧美精品电影在线播放| 日本中文字幕一区|