社区
C语言
帖子详情
dos串行通讯设置
silent
2000-12-14 04:03:00
请教高手:
dos 中串行通讯用outportb设置波特率、起始停止位、校验位的具体的用法
另dos下com1 comc2 中断优先级是相同的吧,怎样设置com2优先于com1.
ri振铃的解决?
谢谢各位!
...全文
128
7
打赏
收藏
dos串行通讯设置
请教高手: dos 中串行通讯用outportb设置波特率、起始停止位、校验位的具体的用法 另dos下com1 comc2 中断优先级是相同的吧,怎样设置com2优先于com1. ri振铃的解决? 谢谢各位!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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 */
}
TSerial串口
通讯
调试工具 for
Dos
您还在为调试
串行
通讯
中无法确定故障所在而大伤脑筋吗? 请用它吧,我相信他会给你一些帮助 无论你是在调试多机
通讯
,电力载波
通讯
,无线
通讯
它都会给你带来一丝乐趣. 在Chat窗口下你还可 和另一方聊天,不相信那就试试吧...
API.rar_
DOS
系统串口
用API函数实现
串行
通讯
,以往的
DOS
系统是通过
DOS
中断和BIOS中断向用户提供
串行
接口的
通讯
能力。在Windows环境下,C++的开发工具既没有提供象
DOS
和BIOS中那样专门的
串行
通讯
控制方法,也不允许用户直接控制串口的中断...
通信与网络中的基于PC/104的多串口
通讯
的设计
关 键 字:
串行
通讯
;PC104; 0 引 言 目前,最先进的嵌入式工业计算机PC/l04,以其优良的品质、高可靠性及模块化,广泛应用于工业控制、航空航天、军事、医疗、消防设备、智能仪器仪表、导
通信与网络中的研华推出精巧型以太网络
通讯
控制器ADAM-4501
研华所提供
通讯
控制器特点是具备以太网络转
串行
的强大
通讯
功能,产品系列可依操作系统分成两大类: ROM-
DOS
的ADAM-4500 控制器及Windows CE的ADAM-6501控制器。现在推出的ADAM-4501/4501D则是ADAM-4500控制器的下一代...
Visual C++/Turbo C串口通信编程实践及源代码-2
10.4.2 通过串口使matlab simulink与下位机
通讯
进行控制 299 10.4.3 xpc目标环境下串口通信实现 299 第11章 串口通信基本概念及标准 302 11.1 串口通信基本概念 302 11.1.1
串行
通信概述 302 11.1.2 单工、...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章