
Delphi串口通信 发送不了 0x11 0x13
你用的是 SPComm 吧,它有个流控制字符的属性设置问题,说明如下不能正常处理0x11和0x13的问题早就存在,原因是SPComm控件中两个属性的存在。
OutX_XonXOffFlow\\\/InX_XonXoffFlow:这个属性是指进行发送\\\/接收时的软件握手标志,两个握手信号之间的数据被认为是通讯数据,收到握手信号后,通讯就中止了。
FOutx_XonXoffFlow := True;FInx_XonXoffFlow := True; 默认的初始化中,这两个属性是默认开启的。
XOffChar\\\/XOnChar:这是指握手的字节,默认的初始中,有FXonChar := chr($11);FXoffChar := chr($13); 至此,真相大白。
0x11,0x13被占用为通讯握手信号,自然不会得到正确的处理。
问题找到了,解决也很容易。
只需要在Comm的初始化中,自己定义Comm.Inx_XonXoffFlow := False; Comm.Outx_XonXoffFlow := False;
delphi 请问那位大侠指点一下delphi串口怎么写的,以下是需求,请帮忙写一个,谢谢
如果用定时器去检测串口模块的中断标记,虽然可行,但是不建议这样做,原因有以下几点: 1. UART和SPI都有自己的中断,接收和发送独立,用模块自带的中断处理事件会比较好控制,因为你确定不了数据接收的具体时间点。
2. 接收1个字节会置位中断标记,接收2个字节也会置位中断标记,你在定时器中如何判断是几个字节引起的中断呢? 3. 如果定时器足够小,小到一个字节的时间长度,那会大量浪费CPU的资源。
4. 定时器本来就有很多用途,经常需要严格分配资源。
建议你用串口自带的中断来处理接收,发送根据需求,可以立即发送或者延时发送。
delphi高手进(SDK问题)无效的类别字符串
你的问题不够详细,比如哪行如错了。
一般这个错误在编译时出现得比较多,主要是在DELPHI8以下的DELPHI版本中,使用了中文作为变量。
但是在运行时出错,可能性主要是在一些1、一些COM对象的调用。
2、一些其它第三方引擎或接口返回的错误,比如数据库引擎,脚本解析引擎等 。
还是把详细的情况列一下。
DELphi 串口在不关闭的情况下怎么暂停显示?
终止对memo1的add不就暂停了吗
delphi串口调试丢包问题
放在While循环去读缓冲区,设计一个超时时间一般是2秒钟没收到数据就是超时了,超时退出。
移动窗体时接收失败问题,你可以式试把你的收发功能放到一个独立单元,然后在窗体上调用这个单元的相应函数,函数负责接收数据后返回。
例如:function GetData(var AValue:string):integer;所有数据接收,转换,重组等操作,都在这个函数里处理,然后通过参数AValue返回。
再显示到Memo上。



