关于RS-232的编程,一点建议,轻松得分
各位大虾,我是个VC新手,正在做个小程序,
内容是通过RS-232与硬件通讯,硬件是DSP,
将数据读进来后进行处理。
不知可有那位做过这方面的工作,给点意见。
并请推荐一本有针对性的书,最好有源程序。
谢谢!!!
问题点数:20、回复次数:6Top
1 楼Swallowdeng_cq(JustTalk)回复于 2002-04-15 08:02:57 得分 0
操作系统呢?就假设是WinNT吧,你可以用串口通信的控件,也可用API函数,控件只需波特率、串口号、延时呀什么的设置一下就行了,用API就需要用到 CreateFile、SetCommMask、SetupComm什么的不过网上有很多介绍自己找吧!我也不废话了Top
2 楼qiuanhong(练从难处练,用从易处用)回复于 2002-04-15 08:16:00 得分 0
http://roaringwind.best.163.com/
里面应有尽有....
Top
3 楼pfans(pfans)回复于 2002-04-15 09:02:45 得分 0
CreateFile("COM1",...);Top
4 楼feng_sky(日三而省.)回复于 2002-04-15 09:13:44 得分 10
方法一:
hCom = CreateFile("com1",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
//FILE_FLAG_OVERLAPPED,
NULL);
printf("comm1 handl is %d \n",hCom);
GetCommState(hCom, &dcb ) ;
dcb.BaudRate =9600;
dcb.ByteSize =8;
dcb.Parity = MARKPARITY;
dcb.fBinary = TRUE ;
dcb.fParity = TRUE;
SetCommState(hCom, &dcb ) ;
方法二:
//设置线路控制寄存器置DLAB=1进行设定波特率
_outp(0x3fb,0x80);
//写入波特率因子,波特率为9600
_outp(0x3f8,0x0c);
_outp(0x3f9,0x00);
// _outp(0x3fb,0x2b);//确定数据传输格式
_outp(0x3fb,0x3b);//1B,2B,0B等
_outp(0x3f9,0x00); //确定为查询中断方式
Top
5 楼joshua0137(joshua)回复于 2002-04-15 09:27:40 得分 10
如果是在WIN32平台里的而且用的话,通常用多线程+API的形式或用MSCOMM控件
来进行串口编程。Top
6 楼AaronLiu(放不稳的鸡蛋)回复于 2002-04-15 10:26:07 得分 0
windows95通讯编程,我开始写窗口程序就是看这本书,不错的Top




