关于串口通讯的问题???(50分)

  • 主题发起人 主题发起人 jjsoul
  • 开始时间 开始时间
J

jjsoul

Unregistered / Unconfirmed
GUEST, unregistred user!
我在做一个与硬件接口的东东,它要求我这样设置,格 式:1个起始位,8个数据位,1个奇偶位,1个停止位。
奇偶位:发送屏号时“奇偶位”=1,发送数据时“奇偶位”=0。
不太明白,因为以前没做过,请求帮忙
 
拉个串口控件(如comport,spcomm,mscomm等)上来,设置相应属性即可
 
我用的就是spcomm,可是不知怎么设置奇偶位?????[:)]
 
應該是設置Parity屬性吧,不是很清楚.
 
你是哪个地方人?我原来一直做这样的程序。
 
http://www.gjwtech.com/scomm/scdelphispcomm.htm
在Delphi中用SPCOMM实现串口编程
●CommName:表示 COM1、 COM2等串口的名字;
●BaudRate:根据实际需要设定的波特率,在串口打开后也可更改此值,实际波特率随之更改;
●ParityCheck:表示是否需要奇偶校验;
●ByteSize:根据实际情况设定的字节长度;
●Parity:奇偶校验位;
●StopBits:停止位;
●SendDataEmpty:这是一个布尔型属性,为 true时表示发送缓存为空,或者发送队列里没有信息;为 false时表示发送缓存不为空,或者发送队列里有信息
 
设置spcomm的Parity属性
 
可是parity没法输入0,1啊???只有几个选项。。不明白,忘各位大哥赐教。。
 
0和1会不会是有没有奇偶校验的标志呢?
 
to:app2001
哦,我来试试看,听起来好象有点道理的。你有QQ吗?
 
这方面我也不太熟,你要自己我试了,我呆会就走了,抱歉
 
parity设置odd或even
 
[?]请问spcomm这个控件在哪有得下载??
如有人知道的话能否把网址发到我邮箱!万分感谢!!
adwardstf@hotmail.com

 
发给你了,请查收!
 
comm1.StopComm;
comm1.StartComm;
if comm1.WriteCommData(@sbuf[1],1) then showmessage('成功') else showmessage('不成功');
为什么总是提示不成功呢??还要有什么要注意的。。
 
语句没错.串口有没有打开呀?
 
打开了。。
comm1.startcomm不就是打开串口吗??真奇怪。。你有QQ吗?帮帮我啊
 
你的参数据设置的对不对呀??
QQ:16970995
 
comm1.StopComm;
comm1.StartComm;
之后要延时,才能正常发送。可以把comm1.StopComm;comm1.StartComm;移出发送模块。
 
你的波特率是什么?这个和你的硬件很重要。
 
后退
顶部