- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
#includestdio.h /*导入stdio.h头文件*/#includedos.h /*导入dos.h头文件夹*/#includeconio.h /*导入conio.h头文件*/#define SIZE 1024*16?? /*定义接收缓冲区大小*/#define PTL 0x01 /*波特率是115200*/unsigned char state;void init_com_interrupt();?? /*初始化COM2端口,用于中断*/void init_com_chanxun();?? /*初始化COM2端口,用于查询方式*/void send_wait();/*发送等待*/void receive_wait();??? /*接收等待*/long file_size(FILE *fp);/*计算文件大小*/void send_ch();/*发送字符,字符串*/void send_file();/*发送文件*/void receive_ch();/*接收字符,字符串*/void receive_file();/*接收文件*/void close_intr();/*关闭中断服务*/void interrupt (*old_int)(void);void interrupt far receive_intr();/*中断服务程序,用于中断接收文件*/void file_begin();int flag=1;/*outputb和inportb对应的函数为_inp和_outp。使用时需要conio.h头文件。建议使用_inp和_outp,而不是使用inp和outp。因为_inp和_outp在Debug和Release都可以使用,而inp和outp只能用于Release设置。如果在Debug设置时使用inp和outp,编译时不会错,但会产生链接错误如下:???? ??????????? error?? LINK2001:Unresolved?? external?? symbol?? _inp???? ??????????? error?? LINK2001:Unresolved?? external?? symbol?? _outp???? ??????????? fatal?? error?? LNK1120:2?? Unresolved?? externals.???? 以上方法只适用于Win9x,在Windows?? NT/2000下任何硬件I/O操作均需要通过设备启动程序。你可以借助DDK(/ddk)编写设备驱动程序。当然你也可以购买现成的软件,如/~zealsoft/cn/ntport/。**********************************************int _inp( unsigned short port ); int _outp( unsigned short port, int databyte ); _inp原型为:
int _inp(unsigned short port);
port参数为指定的输入端口号。调用后,它从port参数指定的端口读入并返回一个字节,输入值可以是在0—255范围内的任意无符号整数值。
_outp原型为:
int _outp(unsigned short port, int databyte ); port 参数为指定的输出端口号,databyte 参数为输出的值。调用后,它将databyte参数指定的值输出到port 参数指定的端口并返回该值。databyte 可以是0—255范围内的任何整数值。 这两个函数都没有错误值返回。 所在库为bios.h 在Win98下可以直接用, 但在NT下必须要挂driver*/void init_com_chanxun()??? /*初始化COM2端口*/{??? /*0x代表16进制*/???? outportb(0x2FB,0x80); /*最高位置为1设置波特率*/???? outportb(0x2F8,PTL);??? /*除数的低8位*/???? outportb(0x2F9,0x00);?? /*除数的高8位*/???? outportb(0x2FB,0x0b);?? /*2FB是通信线路控制寄存器,设置8数据位,一个停止位,有奇偶校验位*/???? outportb(0x2FC,0x03);????? /*设置2FC端口调制解调控制寄存器,使8250输出DTR(数据终端准备好)和RTS(请求发送)*/???? outportb(0x2F9,0x00);???? /*屏蔽所有中断*/}void
您可能关注的文档
- c语言课后答案().doc
- C语言课后答案--谭浩强 清华大学出版社.doc
- C语言课后题编程答案.doc
- c语言课后题答案.doc
- C语言课后题答案答案.doc
- C语言课后习题答案(1-10)(新).doc
- C语言课后习题答案(第1-8章).doc
- c语言课后习题答案(孙家启版).doc
- C语言课后习题解答(北邮版)25.doc
- C语言课后作业题参考答案.doc
- DB4403_T 529-2024 珠宝贵金属产品直播营销管理要求 .docx
- DB4412╱T 09-2021 地理标志产品 谭脉西瓜.docx
- DB4403T184-2021 老龄荔枝树复壮技术规程.docx
- DB4452T4.2-2021 地理标志产品 普宁青梅 第2部分:干湿梅.docx
- DB4404T 17-2021 劳模和工匠人才创新工作室建设和管理要求.docx
- DB4412╱T 08-2021 地理标志产品 汶朗蜜柚.docx
- DB4453╱T 02-2021 地理标志产品 罗定豆豉.docx
- DB44T 2252-2020森林火灾应急预案编制导则.docx
- 家政服务 家政服务员信用信息管理规范DB44T 2289-2021.docx
- DB4407T67-2020江门市自产锦鲤繁育技术规范.docx
文档评论(0)