社区
C语言
帖子详情
dos串行通讯设置
silent
2000-12-14 04:03:00
请教高手:
dos 中串行通讯用outportb设置波特率、起始停止位、校验位的具体的用法
另dos下com1 comc2 中断优先级是相同的吧,怎样设置com2优先于com1.
ri振铃的解决?
谢谢各位!
...全文
134
7
打赏
收藏
dos串行通讯设置
请教高手: dos 中串行通讯用outportb设置波特率、起始停止位、校验位的具体的用法 另dos下com1 comc2 中断优先级是相同的吧,怎样设置com2优先于com1. ri振铃的解决? 谢谢各位!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
满桌烟灰
2000-12-16
打赏
举报
回复
除TXD,RXD和GND外,其他都是与外设的握手信号(如:使用调制解调器),在一般的通讯应用中可不虞理会.
abcicq
2000-12-15
打赏
举报
回复
RS232九个脚中,只用到了三个2,3,5。一收一发一地。
silent
2000-12-15
打赏
举报
回复
谢谢gigix
谢谢ColdSpring
Ri rs-232 引脚的一个吧,数据传输中他要有信号的,处理他有什么要注意的
ColdSpring
2000-12-14
打赏
举报
回复
#define COM_BASE_ADDR 0x3f8 /*com2=0x2f8*/
#define COM_INT_NUM 0x0c /*com2=0x0b*/
#define COM_MASK_BIT 0x10 /*com2=0x08*/
#define COM_TX COM_BASE_ADDR /* send data register */
#define COM_RX COM_BASE_ADDR /* receive data register */
#define COM_BL COM_BASE_ADDR /* baudrate_LSB low byte */
#define COM_BH COM_BASE_ADDR+1 /* baudrate_MSB high byte */
#define COM_IM COM_BASE_ADDR+1 /* interrupt mask register */
#define COM_IS COM_BASE_ADDR+2 /* intr_status register */
#define COM_LC COM_BASE_ADDR+3 /* line control register */
#define COM_MC COM_BASE_ADDR+4 /* modem control register */
#define COM_LS COM_BASE_ADDR+5 /* line status register */
#define COM_MS COM_BASE_ADDR+6 /* modem status register */
#define RTU_MODE 0x03 /* 8 bits data,1 stop bit,no parity*/
#define pcpc_baud 9600 /*bund */
void ComSetMode(unsigned long baudrate,unsigned char mode)
{
unsigned char baud_high,baud_low;
baud_low=(short)(115200L/baudrate)&0x00ff;
baud_high=115200L/baudrate>>0x08;
outp(COM_LC,0x80); /* set DLAB=1 */
outp(COM_BL,baud_low); /* 60=1200 18=4800 10=7200 0c=9600 08=14400*/
// line control reg. bin=0011
// bit1_bit0=11: DATA 8 bits,
// bit2=0 : STOP 0 bit,
// bit3=0 : No parity
outp(COM_BH,baud_high);
outp(COM_LC,mode&0x7f);
outp(COM_IM,0x01);
outp(COM_MC,0x09);
inp(COM_LS); /* reset interrupt */
inp(COM_RX); /* reset interrupt */
inp(COM_IS); /* reset interrupt */
inp(COM_MS); /* reset interrupt */
}
gigix
2000-12-14
打赏
举报
回复
DOS下com1的中断级别是4,com2是3(都是外部中断),你说那个震铃的问题,不
太明白你的意思,说详细点?
gigix
2000-12-14
打赏
举报
回复
设置祯结构:
void set_format(int port, unsigned char data,
unsigned char stop, unsigned char parity){
unsigned char portaddr;
unsigned char lcr;
portaddr=peek(0x40, port*2);
lcr=data|stop|parity;
outportb(portaddr+LCR, lcr); /* LCR : #define LCR 3 */
}
设置波特率:
void set_baudrate(int port, unsigned int baud){
unsigned portaddr;
unsigned char lcr, lsb, msb;
lsb=baud&0xff;
msb=baud>>8;
portaddr=peek(0x40, port*2);
lcr=inportb(portaddr+LCR); /* 保存LCR内容 */
outportb(portaddr+LCR, 0x80);
outportb(portaddr+LSB, lsb); /* #define LSB 0 */
outportb(portaddr+MSB, msb); /* #define MSB 1 */
outportb(portaddr+LCR, lcr); /* 恢复LCR */
}
gigix
2000-12-14
打赏
举报
回复
设置祯结构:
void set_format(int port, unsigned char data,
unsigned char stop, unsigned char parity){
unsigned char portaddr;
unsigned char lcr;
portaddr=peek(0x40, port*2);
lcr=data|stop|parity;
outportb(portaddr+LCR, lcr); /* LCR : #define LCR 3 */
}
设置波特率:
void set_baudrate(int port, unsigned int baud){
unsigned portaddr;
unsigned char lcr, lsb, msb;
lsb=baud&0xff;
msb=baud>>8;
portaddr=peek(0x40, port*2);
lcr=inportb(portaddr+LCR); /* 保存LCR内容 */
outportb(portaddr+LCR, 0x80);
outportb(portaddr+LSB, lsb); /* #define LSB 0 */
outportb(portaddr+MSB, msb); /* #define MSB 1 */
outportb(portaddr+LCR, lcr); /* 恢复LCR */
}
DOS
串口
通讯
interlnk
标题中的"
DOS
串口
通讯
interlnk"是指在MS-
DOS
6.22操作系统环境下进行的通过
串行
端口(COM口)进行的通信方式,主要涉及的工具是`interlnk.exe`和`intersvr.exe`。这两个程序是微软在
DOS
时代为了实现计算机之间的数据...
串口
通讯
PC机 RS-232
串行
通讯
C语言编程 开题报告.doc
《PC机RS-232
串行
通讯
C语言编程》 串口
通讯
是计算机与外部设备之间进行数据传输的一种常见方式,特别是在PC机上,RS-232
串行
通讯
因其简单易用和广泛兼容性而被广泛应用。RS-232C作为
串行
通信的标准化接口,虽然在...
用WIN32API函数实现Windows下的
串行
通讯
在Windows操作系统中,实现
串行
通讯
通常涉及到使用WIN32 API函数。
串行
通讯
在工业控制领域中扮演着重要角色,特别是在与智能仪表等设备进行通信时,串口(如RS485)因其简单易用和广泛兼容性而被广泛应用。在Windows...
TSerial串口
通讯
调试工具 for
Dos
您还在为调试
串行
通讯
中无法确定故障所在而大伤脑筋吗? 请用它吧,我相信他会给你一些帮助 无论你是在调试多机
通讯
,电力载波
通讯
,无线
通讯
它都会给你带来一丝乐趣. 在Chat窗口下你还可 和另一方聊天,不相信那就试试吧...
DOS
下串口
通讯
源码
本资源包含的"
DOS
下串口
通讯
源码"是针对
DOS
操作系统设计的,它由两个文件组成:`_serial.c`和`_serial.h`,这两个文件分别对应于C语言的源代码文件和头文件。 1. **
DOS
操作系统**:
DOS
(Disk Operating System)...
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章