谢谢

解决方案 »

  1.   

    函数名: bioscom 
    功 能: 串行I/O通信 
    用 法: int bioscom(int cmd, char abyte, int port); 
    程序例: #include <bios.h> 
    #include <conio.h> #define COM1 0 
    #define DATA_READY 0x100 
    #define TRUE 1 
    #define FALSE 0 #define SETTINGS ( 0x80 | 0x02 | 0x00 | 0x00) int main(void) 

    int in, out, status, DONE = FALSE; bioscom(0, SETTINGS, COM1); 
    cprintf("... BIOSCOM [ESC] to exit ...\n"); 
    while (!DONE) 

    status = bioscom(3, 0, COM1); 
    if (status & DATA_READY) 
    if ((out = bioscom(2, 0, COM1) & 0x7F) != 0) 
    putch(out); 
    if (kbhit()) 

    if ((in = getch()) == '\x1B') 
    DONE = TRUE; 
    bioscom(1, in, COM1); 


    return 0; 
      

  2.   

    函数申明: int bioscom(int cmd, char byte, int port)  
    函数用途: RS232串口通信口操作 
    头 文 件: bios.h 
    输入参数: cmd: 0-初始化串口,1-发送一个字符,2-接受一个字符,3:返回串口状态
    byte: 波特率和发送位数设置,各位的含义如下:
      B7,B6,B5:波特率设置,具体设置为:9600波特-111,4800-110,2400-101,1200-100,600-011,300-010
      B4,B3   :奇偶校验设置,具体设置为:00或10-无奇偶,01-奇校验,11-偶校验。
      B2      :停止位个数,1-2个停止位,0-1个停止位
      B1,B0   :10-7个数据位; 11-8个数据位
    port:串口号,0,1,2,3等 
    输出参数:  
    返 回 值: 16位的串口状态信息,各位的含义分别如下:
      高8位                      低8位(cmd=0,1,3时)        当cmd=2时,低8位用于保存接收的数据   
      B15: 超时错误               B7: 检测到线路信号
      B14: 发送移位寄存器空       B6: 振铃指示
      B13: 发送保持寄存器空       B5: 数据装置就绪
      B12: 中止检测错误           B4: 数据发送结束 
      B11: 帧错误                 B3: 线路信号变化 
      B10: 奇偶错误               B2: 脉冲后沿振铃检测  
      B9 : 溢出错误               B1: 数据装置就绪变化
      B8 : 数据准备就绪           B0: 数据发送结束变化