社区
C语言
帖子详情
dos串行通讯设置
silent
2000-12-14 04:03:00
请教高手:
dos 中串行通讯用outportb设置波特率、起始停止位、校验位的具体的用法
另dos下com1 comc2 中断优先级是相同的吧,怎样设置com2优先于com1.
ri振铃的解决?
谢谢各位!
...全文
135
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
用于纯MS-
DOS
6.22系统的串口
通讯
,包括interlnk.exe和intersvr.exe及相关说明
串口
通讯
PC机 RS-232
串行
通讯
C语言编程 开题报告.doc
串口
通讯
PC机 RS-232
串行
通讯
C语言编程 开题报告
用WIN32API函数实现Windows下的
串行
通讯
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。 一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答。 在Win32下,可以使用两种编程方式实现串口通信,其一是使用ActiveX控件,这种方法程序简单,但欠灵活。其二是调用Windows的API函数,这种方法可以清楚地掌握串口通信的机制,并且自由灵活。本文我们只介绍API串口通信部分。 串口的操作可以有两种操作方式:同步操作方式和重叠操作方式(又称为异步操作方式)。同步操作时,API函数会阻塞直到操作完成以后才能返回(在多线程方式中,虽然不会阻塞主线程,但是仍然会阻塞监听线程);而重叠操作方式,API函数会立即返回,操作在后台进行,避免线程的阻塞。
TSerial串口
通讯
调试工具 for
Dos
您还在为调试
串行
通讯
中无法确定故障所在而大伤脑筋吗? 请用它吧,我相信他会给你一些帮助 无论你是在调试多机
通讯
,电力载波
通讯
,无线
通讯
它都会给你带来一丝乐趣. 在Chat窗口下你还可 和另一方聊天,不相信那就试试吧! 运行环境:
Dos
,Windows9x,Win2000(可能) * 3.4 版更新说明:(程序大小: 54,488 Byte) 2000-6-27 功能:发送字符、字符串、HEX序列,用命令方式发送用户自定义的HEX数据,支持前导码识别...
DOS
下串口
通讯
源码
DOS
下串口
通讯
源码,包括.h文件和.c文件,经过borland C编译没有问题。
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章