怎样设置每个发送字符的校验(标志)值
编号:QA004093
建立日期: 2001年4月11日 最后修改日期:2001年4月11日
所属类别:
hense:
操作系统:winnt4 win2000
编程工具:vc++ 6.0
问题:将奇偶校验设为 mark (标志),怎样设置每个发送字符(WriteFile)的校验(标志)值?
在 dos 设置
#define LCR 0x3FB
outportb(LCR,0x3B); //0011 1011
win32下怎样设置?谢谢赐教!
回答:
问题可以这样解决:
#define LCR 0x3FB
//win9x,dos
outportb(LCR,0x2B); //校验位为 1
outportb(LCR,0x3B); //校验位为 0
//winnt,win2k
DCB dcb;
GetCommState(h,&dcb);
dcb.Parity = 3;//mark 校验位为 1
SetCommState(h,&dcb);//byte b = inportb(LCR); ASSERT(b == 0x2B);
dcb.Parity = 4;//space 校验位为 0
SetCommState(h,&dcb);//byte b = inportb(LCR); ASSERT(b == 0x3B);
此问题由hense回答。
| |
|
|
| |
|
|