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

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

?? async.doc

?? 主要是異步通訊編程
?? DOC
字號:
          ASYNCx.LIB 1.30 Documentation                         11/28/90

                                  HISTORY:
          Version 1.00 - 3/7/89:
            This version supports the basic functions of interrupt
            driven asyncronous communications on the IBM PC and PS/2. It
            supports COM1 and COM2 on PCs and COM1 through COM8 on
            microchannel machines. XON/XOFF control routines and logic
            exist, but do not work. But since everything else tests out
            OK, I'm going ahead and releasing the library without the
            XON/XOFF stuff fixed. (Just don't turn on XON/XOFF
            handling.)

          Version 1.01 - 4/25/89:
            Oops. I forgot to provide a way to modify the communications
            parameters of a port while it's open. The a_params function
            has been added for this purpose.

          Version 1.02 - 4/28/89:
            More oversights sighted. This version adds 6 new functons
            (a_getlcr, a_getlsr, a_getmcr, a_getmsr, a_setlcr, and
            a_setmcr) to handle direct read and writing to control and
            status ports of the UART.

          Version 1.03 - 11/30/89:
            This version fixes an initialization problem that was
            experienced on some machines. On these machines, if a
            character was received before one was sent, no interrupt
            would be generated for the character to be read from the
            UART'd data buffer and over-run error would result from any
            further data received. This has been fixed.

            Also, the a_putc() function has been mostly re-written. See
            the description of this function where it is listed in the
            FUNCTIONS: section of this document for more details.

          Version 1.10 - 11/06/89
            The only real change in this version is an extra parameter
            for the a_waitquiet() function. I provided a way for the
            programmer to specify a maximum amount of time to wait for
            the desired gap in the incomming data stream. (Previous
            versions of a_waitquiet() would never return if presented
            with a continual stream of incomming data.)

          Version 1.20 - 12/11/89
            The XON/XOFF flow control has finally been added. Because of
            this, I have changed the interfaces to some of the functions
            of this library. The modifications are detailed in the
            disucussions of the appropriate functions, but here is a
            summary of the changes made:

            1. int a_puts(char *s,ASYNC *p) now returns the number of
               characters that it successfully transmitted. If an XOFF
               character is received in the middle of the transmission,
               this count may fall short of the length of the string.

            2. int a_iflush(ASYNC *p) sends an XON character if an XOFF
               character has allready been sent. If the XON character
               cannot be added to the output buffer (under the same
               constraints that apply to a_getc), the buffer is not
               flushed and a value of -1 is returned. Otherwise, the
               buffer is flushed and a value of 0 is returned.

            A few of the other functions received a minor logical face-
            lift. The a_open function does not turn on XON/XOFF flow
            control. If you want to take advantage of XON/XOFF, you must
            set XON and XOFF buffer threshold levels using the setxonoff
            function.

          Version 1.21 - 01/17/89
            The a_gets() function has been modified so that it will only
            return a value of NULL (to indicate an EOF state on the
            async port) if no characters at all are received over that
            port. In previous versions, NULL would be returned if a
            blank line was received.

          Version 1.30 - 01/18/89
            The a_open() function no longer takes DTR and RTS down and
            back up during initialization of the async port. It just
            leaves both up. Also, a_close() has sprouted a new parameter
            that allows the application closing an async port to control
            whether DTR and RTS are left up or down when the port is
            closed.

                                 PHILOSOPHY:
          The interface to the routines in this library is closely
          analogous to the interface used with the ANSI C streem I/O
          functions. I made every effort to allow you to handle the
          async ports of the computer in the same way in which you would
          handle a stream opened in binary (as opposed to text) mode.
          While the nature of an asyncronous environment forced certain
          concessions in the conformity vs. practicality battles, I
          believe C programmers will find the interface to these
          functions familiar and intuitive.

          If you were wondering: I'm not asking for any money for this.
          I'm making no claim that these routines are suitable for you.
          I don't even claim that the use (proper or otherwise) will not
          harm (or even destroy) hardware or software that you value.
          One last thing that I don't do is tell you who I am, where I
          live, or how to get in touch with me for support. I wrote this
          async library because I needed it; not to make a fast buck.
          Just think of me as a philanthropic programmer who wants to
          give other programmers a leg up in communications programming.

                                  FEATURES:

          o All source is available. Turbo C 2.0 or higher is required
            for recompilation.

          o Supports COM1 and COM2 on PC/XTs and COM1 through COM8 on
            PS/2s.

          o Bit rates from 300 to 19200,
            Even, odd, mark, space, and no parity,
            1 or 2 stop bits, and
            from 5 to 8 data bits per word.

          o Input and output buffering for support of the higher bit
            rates.

          o Output buffering can be turned off to make programming in an
            async environment a little simpler.

          o XON/XOFF flow control with individually adjustable
            thresholds is supported.


                           A LITTLE MORE TECHNICAL:
          COM1 is handled via INT 0xC (IRQ 4) and COM2 through COM8 are
          handled via INT 0xB (IRQ 3). The base port addresses for COM1
          through COM8 are 0x3f8, 0x2f8, 0x3220, 0x3228, 0x4220, 0x4228,
          0x5220, and 0x5228, respectively. When the a_open function
          opens a port, the UART corresponding to that port is told to
          generate an interrupt whenever a character is sent or
          received, but not when an error or line-level change occurs.
          This, of course, is turned off when the port is closed. The
          routines in this async library completely bypass BIOS INT 14h.
          This allows reliable communication at speeds up to 19200 baud.

       北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北
       北 NOTE: When a you open a port with the a_open function, you are 北
       北 changing either interrupt vector 0xB or 0xC, depending on what 北
       北 port you open. If you fail to close the port with the a_close  北
       北 function, these vectors will never be restored to their        北
       北 original values. If you allow your program to end without      北
       北 EXPLICITLY CLOSING ALL OPENED PORTS, your machine will         北
       北 probably crash the next time there is any activity on your     北
       北 async line (or modem or whatever).                             北
       北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北

                      Creation and use of ASYNCx.LIB files:
          The batch file CREASYNC.BAT has been provided to compile each
          of the modules into a .OBJ form and to put each .OBJ file into
          the ASYNCx.LIB file. CREASYNC.BAT takes one single-character
          parameter on its command line. This character is t for tiny, s
          for small, m for medium, c for compact, l for large, or h for
          huge memory model and will replace the x in ASYNCx.LIB to
          produce ASYNCT.LIB, ASYNCS.LIB, ASYNCM.LIB, ASYNCC.LIB,
          ASYNCL.LIB, and ASYNCH.LIB, respectively.

          These 6 library files (assuming that you create all 6 of them)
          should be copied to where ever it is that you keep the rest of
          the .LIB files. This way Turbo C will know where to find them
          when it wants them.

          To compile and link a program that uses one of the ASYNCx.LIB
          files, issue a command similar to the following:

            tcc -ms myprog.c asyncs.lib

          Note that the -ms option (for small memory model) will only
          work with ASYNCS.LIB and not any of the other 5 ASYNCx.LIB
          libraries. If you want to use the huge memory model, you would
          issue a command similar to the following:

            tcc -mh myprog.c asynch.lib

          A program called MYPROG.C has been provided for you. It is a
          very rudimentary communications package. It's heavily
          commented and I hope it'll help you to get started with the
          ASYNC library.

                                   FUNCTIONS:

          This is a list of all the functions in the ASYNC library. Each
          is described in detail on the following pages. (The functions
          are listed in alphabetical order by function name.)

          int a_break(ASYNC *p, int t);

          ASYNC *a_close(ASYNC *p,int fc);

          int a_eof(ASYNC *p,int t);

          int a_icount(ASYNC *p);

          int a_iflush(ASYNC *p);

          int a_getc(ASYNC *p);

          int a_getlcr(ASYNC *p);

          int a_getlsr(ASYNC *p);

          int a_getmcr(ASYNC *p);

          int a_getmsr(ASYNC *p);

          char *a_gets(char *s,int n,ASYNC *p,int t);

          int a_ocount(ASYNC *p);

          int a_oflush(ASYNC *p);

          ASYNC *a_open(int port,int baud,int par,int dbits,int sbits,
                        int ibufsize,int obufsize);

          int a_params(ASYNC *p,int baud,int par,int dbits,int sbits);

          int a_portno(ASYNC *p);

          int a_printf(ASYNC *p,char *format,...);

          int a_putc(int c,ASYNC *p);

          int a_puts(char *s,ASYNC *p);

          int a_read(void *buf,int s,int n ASYNC *p,int t);

          void a_setlcr(ASYNC *p,int newval);

          void a_setmcr(ASYNC *p,int newval);

          a_setxonoff(ASYNC *p,int xon,int xoff);

          int a_ungetc(int c,ASYNC *p);

          int a_waitfor(ASYNC *p,char *s,int t,int mode);

          void a_waitquiet(ASYNC *p,int t,int max,int mode);

          int a_write(void *buf,int s,int n,ASYNC *p);


          諛哪哪哪

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99久久精品| 亚洲视频 欧洲视频| 日韩不卡一区二区| 欧美日韩国产精品成人| 午夜a成v人精品| 欧美日韩dvd在线观看| 日本不卡在线视频| 精品入口麻豆88视频| 老司机精品视频导航| 日本一区二区视频在线| 97精品国产露脸对白| 一区二区三区四区精品在线视频| 色一情一伦一子一伦一区| 亚洲小说春色综合另类电影| 欧美一区二区大片| 成人教育av在线| 一区二区三区在线观看欧美| 91精品免费在线观看| 国产传媒一区在线| 亚洲欧美视频在线观看视频| 91精品国产色综合久久ai换脸 | 欧美专区日韩专区| 免费成人在线视频观看| 中文字幕欧美日本乱码一线二线| 一本大道av一区二区在线播放| 五月天视频一区| 中文在线一区二区| 欧美精品粉嫩高潮一区二区| 国产成人精品综合在线观看 | 久久夜色精品国产噜噜av| a级高清视频欧美日韩| 亚洲成人av一区| 久久精品欧美一区二区三区不卡 | 91网址在线看| 久久精品国产免费看久久精品| 中文字幕在线观看一区| 3atv在线一区二区三区| 成人黄色小视频| 日韩中文字幕一区二区三区| 国产精品家庭影院| 欧美一区二区三区免费视频| 色伊人久久综合中文字幕| 国产精品一区久久久久| 午夜欧美在线一二页| 国产精品伦理在线| 日韩一区二区三区四区| 欧美色视频一区| 色综合久久中文字幕| 国产精品伊人色| 另类综合日韩欧美亚洲| 午夜精品久久久久久久蜜桃app | 亚洲一二三四在线观看| 国产欧美视频在线观看| 欧美精品一区二区三区蜜桃视频| 精品视频在线看| 色菇凉天天综合网| gogo大胆日本视频一区| 国产传媒日韩欧美成人| 国产一区二区免费看| 久久99九九99精品| 蜜臀av国产精品久久久久 | 欧美va亚洲va香蕉在线| 欧美男生操女生| 欧美日韩国产一级片| 欧洲色大大久久| 欧美在线观看视频一区二区| 一本色道久久综合亚洲aⅴ蜜桃 | 欧美日韩高清影院| 一本大道久久a久久综合| 成人精品国产一区二区4080| 国产综合色视频| 麻豆精品新av中文字幕| 美腿丝袜亚洲色图| 蜜桃传媒麻豆第一区在线观看| 日本不卡一二三区黄网| 偷拍自拍另类欧美| 婷婷综合久久一区二区三区| 亚洲成人av免费| 视频一区视频二区中文| 日韩高清在线观看| 美腿丝袜亚洲色图| 国产真实乱对白精彩久久| 国产在线视频一区二区三区| 经典三级在线一区| 国产成人精品免费在线| 成人午夜免费电影| 91亚洲精品久久久蜜桃网站 | 日韩电影在线一区二区三区| 水野朝阳av一区二区三区| 五月婷婷久久丁香| 蜜臀av亚洲一区中文字幕| 国精产品一区一区三区mba桃花 | 高清beeg欧美| av高清久久久| 欧美亚洲综合久久| 91精品国产品国语在线不卡| 精品国产91九色蝌蚪| 国产视频一区不卡| 亚洲女人小视频在线观看| 亚洲一区在线观看免费观看电影高清| 婷婷综合五月天| 加勒比av一区二区| 成人av电影在线播放| 精品视频资源站| 精品欧美久久久| 国产精品伦一区二区三级视频| 一区二区日韩av| 久久99国内精品| 99久久伊人精品| 欧美日韩aaaaaa| 亚洲国产精品成人综合色在线婷婷| 国产精品久久看| 日韩电影免费在线| 成人综合在线视频| 欧美日韩一区二区三区在线| 久久久久久久久久看片| 亚洲综合视频网| 国产精品亚洲一区二区三区在线 | 精品1区2区3区| 久久精品欧美日韩精品| 性做久久久久久免费观看| 国产成人综合亚洲网站| 欧美欧美午夜aⅴ在线观看| 国产欧美视频一区二区| 奇米精品一区二区三区在线观看一| 国产成人鲁色资源国产91色综| 欧美日韩国产美| 亚洲欧美日韩小说| 国产成人av影院| 欧美日韩另类国产亚洲欧美一级| 欧美国产亚洲另类动漫| 日韩av一区二| 在线免费一区三区| 欧美激情中文字幕| 免费成人av在线| 欧美又粗又大又爽| 国产精品二区一区二区aⅴ污介绍| 秋霞午夜鲁丝一区二区老狼| 一本大道av伊人久久综合| 久久精品欧美一区二区三区麻豆| 日韩黄色在线观看| 在线看国产日韩| 亚洲丝袜精品丝袜在线| 国产乱子轮精品视频| 日韩一区二区高清| 亚洲国产裸拍裸体视频在线观看乱了 | 91精品久久久久久蜜臀| 亚洲激情第一区| www.av亚洲| 国产情人综合久久777777| 美女免费视频一区二区| 欧美日韩精品二区第二页| 亚洲黄色小说网站| 91天堂素人约啪| 国产精品久久久久久久久搜平片| 国产精品综合一区二区三区| 日韩免费在线观看| 日韩成人午夜电影| 91麻豆精品国产自产在线| 亚洲成人先锋电影| 欧美色视频在线观看| 亚洲福利国产精品| 欧美日韩视频一区二区| 一卡二卡三卡日韩欧美| 在线观看一区二区视频| 亚洲国产aⅴ成人精品无吗| 欧美三日本三级三级在线播放| 亚洲美女偷拍久久| 色综合一个色综合亚洲| 亚洲综合无码一区二区| 欧美亚洲国产bt| 亚洲国产精品久久人人爱| 欧美日韩美女一区二区| 日韩精品色哟哟| 日韩一区二区精品葵司在线| 久久精品国产秦先生| 久久久亚洲高清| 成人免费视频app| 国产精品高潮呻吟久久| 色婷婷综合久久久久中文一区二区 | 国产剧情一区在线| 国产欧美一区二区精品秋霞影院 | 大陆成人av片| 亚洲精品日日夜夜| 欧美日韩国产中文| 久久国产免费看| 中文字幕高清不卡| 日本二三区不卡| 日本亚洲三级在线| 久久久久久日产精品| 99r国产精品| 婷婷国产v国产偷v亚洲高清| 日韩欧美亚洲另类制服综合在线| 国产精品综合av一区二区国产馆| 国产精品久久久久久久久图文区 | 91在线无精精品入口| 午夜伊人狠狠久久| ww久久中文字幕| 在线免费观看成人短视频| 久久精工是国产品牌吗|