一个c语言的串口通信程序范例.doc

上传人:苏美尔 文档编号:7195419 上传时间:2020-11-05 格式:DOC 页数:5 大小:70.50KB
返回 下载 相关 举报
一个c语言的串口通信程序范例.doc_第1页
第1页 / 共5页
一个c语言的串口通信程序范例.doc_第2页
第2页 / 共5页
一个c语言的串口通信程序范例.doc_第3页
第3页 / 共5页
一个c语言的串口通信程序范例.doc_第4页
第4页 / 共5页
一个c语言的串口通信程序范例.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《一个c语言的串口通信程序范例.doc》由会员分享,可在线阅读,更多相关《一个c语言的串口通信程序范例.doc(5页珍藏版)》请在三一文库上搜索。

1、#include #include #include #include #define COM232 0x2f8#define COMINT 0x0b#define MaxBufLen 500#define Port8259 0x20#define EofInt 0x20static int comportaddr;static char intvectnum;static unsigned char maskb;static unsigned char BufferMaxBufLen;static int CharsInBuf,CircIn,CircOut;static void (inte

2、rrupt far *OldAsyncInt)();static void interrupt far AsyncInt(void);void Init_COM(int ComPortAddr, unsigned char IntVectNum, int Baud, unsigned char Data, unsigned char Stop, unsigned char Parity)unsigned char High,Low;int f;comportaddr=ComPortAddr;intvectnum=IntVectNum;CharsInBuf=0;CircIn=0;CircOut=

3、0;f=(Baud/100);f=1152/f; High=f/256;Low=f-High*256;outp(ComPortAddr+3,0x80);outp(ComPortAddr,Low);outp(ComPortAddr+1,High);Data=(Data-5)|(Stop-1)*4);if(Parity=2) Data=Data|0x18;else if(Parity=1) Data=Data|0x8;outp(ComPortAddr+3,Data);outp(ComPortAddr+4,0x0a);outp(ComPortAddr+1,0x01);disable();OldAsy

4、ncInt=getvect( IntVectNum );setvect( IntVectNum, AsyncInt );enable();maskb=inp(Port8259+1);if(IntVectNum=0x0c)outp(Port8259+1,maskb&0xef);else outp(Port8259+1,maskb&0xf7);static void interrupt far AsyncInt(void)disable();if(CharsInBufMaxBufLen) BufferCircIn=inp(comportaddr);if(CircIn0) (*Char)=Buffe

5、rCircOut; if(CircOutMaxBufLen-1)CircOut+; else CircOut=0; CharsInBuf-; Flag=0; return Flag;int SendChar(unsigned char Char)if(inp(comportaddr+5)&0x20)=0) return -1;outp(comportaddr,Char);return 0;main()int i,c;unsigned char InChar;Init_COM(COM232,COMINT,1200,8,1,0);while(1) if(kbhit() if(InChar=getch()=27)break; else while(SendChar(InChar); if(GetCharInBuf(&InChar)=0) printf(%c,InChar);Restore();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1