没有合适的资源?快使用搜索试试~ 我知道了~
TC下的串口通信编程简单实例源代码
3星 · 超过75%的资源 需积分: 18 44 下载量 111 浏览量
2008-07-20
12:03:46
上传
评论
收藏 5KB TXT 举报
温馨提示
试读
7页
TC下的串口通信编程简单实例源代码<br>俺老师写的,看完这个自己也可以用TC写个串口通信的程序了<br>主程序自己改改
资源推荐
资源详情
资源评论
#include <dos.h>
#include <bios.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <graphics.h>
#ifdef __cplusplus
#define __CPPARGS ...
#else
#define __CPPARGS
#endif
#define SER_RBF 0
#define SER_THR 0
#define SER_IER 1
#define SER_IIR 2
#define SER_LCR 3
#define SER_MCR 4
#define SER_LSR 5
#define SER_MSR 6
#define SER_DLL 0
#define SER_DLH 1
#define SER_BAUD_1200 96
#define SER_BAUD_2400 48
#define SER_BAUD_9600 12
#define SER_BAUD_19200 6
#define SER_GP02 8
#define COM_1 0x3F8
#define COM_2 0x2F8 /*/ base port address of port 1*/
#define SER_STOP_1 0 /*/ 1 stop bit per character*/
#include <bios.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <graphics.h>
#ifdef __cplusplus
#define __CPPARGS ...
#else
#define __CPPARGS
#endif
#define SER_RBF 0
#define SER_THR 0
#define SER_IER 1
#define SER_IIR 2
#define SER_LCR 3
#define SER_MCR 4
#define SER_LSR 5
#define SER_MSR 6
#define SER_DLL 0
#define SER_DLH 1
#define SER_BAUD_1200 96
#define SER_BAUD_2400 48
#define SER_BAUD_9600 12
#define SER_BAUD_19200 6
#define SER_GP02 8
#define COM_1 0x3F8
#define COM_2 0x2F8 /*/ base port address of port 1*/
#define SER_STOP_1 0 /*/ 1 stop bit per character*/
#define SER_STOP_2 4 /*/ 2 stop bits per character*/
#define SER_BITS_5 0 /*/ send 5 bit characters*/
#define SER_BITS_6 1 /*/ send 6 bit characters*/
#define SER_BITS_7 2 /*/ send 7 bit characters*/
#define SER_BITS_8 3 /*/ send 8 bit characters*/
#define SER_PARITY_NONE 0 /*/ no parity*/
#define SER_PARITY_ODD 8 /*/ odd parity*/
#define SER_PARITY_EVEN 24 /*/ even parity*/
#define SER_DIV_LATCH_ON 128 /*/ used to turn reg 0,1 into divisor latch*/
#define PIC_IMR 0x21 /*/ pic's interrupt mask reg.*/
#define PIC_ICR 0x20 /*/ pic's interupt control reg.*/
#define INT_SER_PORT_0 0x0C /*/ port 0 interrupt com 1 & 3*/
#define INT_SER_PORT_1 0x0B /*/ port 0 interrupt com 2 & 4*/
#define SERIAL_BUFF_SIZE 128 /*/ current size of circulating receive buffer*/
void interrupt far (*Old_Isr)(__CPPARGS); /*/ holds old com port interrupt handler*/
char ser_buffer[SERIAL_BUFF_SIZE]; /*/ the receive buffer*/
int ser_end = -1,ser_start=-1; /*/ indexes into receive buffer*/
int ser_ch, char_ready=0; /*/ current character and ready flag*/
int old_int_mask; /*/ the old interrupt mask on the PIC*/
int open_port; /*/ the currently open port*/
int serial_lock = 0; /*/ serial ISR semaphore so the buffer*/
/*/ isn't altered will it is being written*/
/*/ to by the ISR*/
/*-------------写串口-----------------*/
void interrupt far Serial_Isr(__CPPARGS)
#define SER_BITS_5 0 /*/ send 5 bit characters*/
#define SER_BITS_6 1 /*/ send 6 bit characters*/
#define SER_BITS_7 2 /*/ send 7 bit characters*/
#define SER_BITS_8 3 /*/ send 8 bit characters*/
#define SER_PARITY_NONE 0 /*/ no parity*/
#define SER_PARITY_ODD 8 /*/ odd parity*/
#define SER_PARITY_EVEN 24 /*/ even parity*/
#define SER_DIV_LATCH_ON 128 /*/ used to turn reg 0,1 into divisor latch*/
#define PIC_IMR 0x21 /*/ pic's interrupt mask reg.*/
#define PIC_ICR 0x20 /*/ pic's interupt control reg.*/
#define INT_SER_PORT_0 0x0C /*/ port 0 interrupt com 1 & 3*/
#define INT_SER_PORT_1 0x0B /*/ port 0 interrupt com 2 & 4*/
#define SERIAL_BUFF_SIZE 128 /*/ current size of circulating receive buffer*/
void interrupt far (*Old_Isr)(__CPPARGS); /*/ holds old com port interrupt handler*/
char ser_buffer[SERIAL_BUFF_SIZE]; /*/ the receive buffer*/
int ser_end = -1,ser_start=-1; /*/ indexes into receive buffer*/
int ser_ch, char_ready=0; /*/ current character and ready flag*/
int old_int_mask; /*/ the old interrupt mask on the PIC*/
int open_port; /*/ the currently open port*/
int serial_lock = 0; /*/ serial ISR semaphore so the buffer*/
/*/ isn't altered will it is being written*/
/*/ to by the ISR*/
/*-------------写串口-----------------*/
void interrupt far Serial_Isr(__CPPARGS)
剩余6页未读,继续阅读
资源评论
- zmbxskdy2013-06-21恩,编译又问啊
- panda1212012-04-11有错误,竟然有变量没定义,有部分看不明白
- cookietian2012-09-20编译没通过,我也不知道哪里有问题。
bushibushiwo
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功