当前位置:首页 » 生产设备 » 如何向rs232设备发送字符

如何向rs232设备发送字符

发布时间: 2021-03-10 09:39:37

Ⅰ JAVA程序向RS232串口发送十六进制字符,比如十六进制的AA。则代码如何编写

JAVA不能直接同硬件底层打交道,这种情况只能编写本地程序,并编译为动态链接库,在JAVA中调用本地方法才可。只用JAVA无法实现。

Ⅱ RS232接口的设置

串行通信在软件设置里需要做多项设置,最常见的设置包括波特率(Baud Rate)、奇偶校验(Parity Check)和停止位(Stop Bit)。
波特率(又称鲍率):是指从一设备发到另一设备的波特率,即每秒钟多少比特bits per second (bit/s)。典型的波特率是300, 1200, 2400, 9600, 15200, 19200等bit/s。一般通信两端设备都要设为相同的波特率,但有些设备也可以设置为自动检测波特率。
奇偶校验(Parity:是用来验证数据的正确性。奇偶校验一般不使用,如果使用,那么既可以做奇校验(Odd Parity)也可以做偶校验(Even Parity)。奇偶校验是通过修改每一发送字节(也可以限制发送的字节)来工作的。如果不作奇偶校验,那么数据是不会被改变的。在偶校验中,因为奇偶校验位会被相应的置1或0(一般是最高位或最低位),所以数据会被改变以使得所有传送的数位(含字符的各数位和校验位)中“1”的个数为偶数;在奇校验中,所有传送的数位(含字符的各数位和校验位)中“1”的个数为奇数。奇偶校验可以用于接受方检查传输是否发送生错误——如果某一字节中“1”的个数发生了错误,那么这个字节在传输中一定有错误发生。如果奇偶校验是正确的,那么要么没有发生错误要么发生了偶数个的错误。如果用户选择数据长度为8位,则因为没有多余的比特可被用来作为同比特,因此就叫做“无位元(Non Parity)”。
停止位:是在每个字节传输之后发送的,它用来帮助接受信号方硬件重同步。
RS-232在传送数据时,并不需要另外使用一条传输线来传送同步信号,就能正确的将数据顺利传送到对方,因此叫做“异步传输”,简称UART(Universal Asynchronous Receiver Transmitter),不过必须在每一笔数据的前后都加上同步信号,把同步信号与数据混和之后,使用同一条传输线来传输。比如数据11001010被传输时,数据的前后就需加入Start(Low)以及Stop(High)等两个比特,值得注意的是,Start信号固定为一个比特,但Stop停止比特则可以是1、1.5或者是2比特,由使用RS-232的传送与接收两方面自行选择,但需注意传送与接受两者的选择必须一致。 在串行通信软件设置中D/P/S是常规的符号表示。8/N/1(非常普遍)表明8bit数据,没有奇偶校验,1bit停止位。数据位可以设置为7、8或者9,奇偶校验位可以设置为无(N)、奇(O)或者偶(E),奇偶校验可以使用数据中的比特(bit),所以8/E/1就表示一共8位数据位,其中一位用来做奇偶校验位。停止位可以是1、1.5或者2位的(1.5是用在波特率为60wpm的电传打字机上的)。
流量控制:当需要发送握手信号或数据完整性检测时需要制定其他设置。公用的组合有RTS/CTS, DTR/DSR或者XON/XOFF(实际中不使用连接器管脚而在数据流内插入特殊字符)。
接受方把XON/XOFF信号发给发送方来控制发送方何时发送数据,这些信号是与发送数据的传输方向相反的。XON信号告诉发送方接受方准备好接受更多的数据,XOFF信号告诉发送方停止发送数据直到知道接受方再次准备好。XON/XOFF一般不赞成使用,推荐用RTS/CTS控制流来代替它们。 XON/XOFF是一种工作在终端间的带内方法,但是必须两端都支持这个协议,而且在突然启动的时候会有混淆的可能。 XON/XOFF可以工作于3线的接口。RTS/CTS最初是设计为电传打字机和调制解调器半双工协作通信的,每次它只能一方调制解调器发送数据。终端必须发送请求发送信号然后等到调制解调器回应清除发送信号。尽管RTS/CTS是通过硬件达到握手,但它有自己的优势。
ASR(Automatic Send Receive)电传打字机有一个纸带读卡机。当读卡机读数据的时候字符被发提交去。ASR电传打字机里收到一个XOFF字符就关掉纸带读卡机收到一个XON字符就启动纸带读卡机。当远端系统有必要降低发送放的速率时就发出XOFF。在原始的系统中,消息要用纸带事先准备好,传送的时间才能被缩短。那时的带宽非常有限并且昂贵,有时候传输不得不推迟到晚上进行,这也正推动了简明电报表达的发展。在有些早期的小型机中,ASR纸带读卡机和纸带穿孔器也是唯一的恢复程序的方法。

Ⅲ securecrt怎么发送rs232指令

securecrt
仅仅是一个连接工具

发送 rs232指令看你 连接设备的 说明书

Ⅳ labview和RS232通信怎么给232串口发送命令

使用仪器与IO中的串口函数库。首先打开串口,然后写,再读,再关闭串口。
在写中有一个字符串输入口,那里就是用来写指令的。

Ⅳ 如何控制RS-232发送字符

应该说 发送任何数据都可以

关键在于 如何定义数据
其实,这涉及到 通信 协议的问题

推荐看书
Visual C++_Turbo C串口通信编程实践
Visual_Basic与_RS-232_串行通信控制
Delphi串口通信工程开发实例导航

Ⅵ 跪求大神!!!如何让RS232接口给PLC发送一个字符,就可以让已经下载到PLC上的程序自动运行呢

不用发,程序下好通电就已经在运行了!我们只要满足触发条件相应的输出就会动作的

Ⅶ 串口RS-232发送代码问题

“商业软件”串口发送和接收数据,发送的只能是字符串型的代码,设备要收十六进制代码
答案:
1、分析
发送字符串型,实际是一个一个字符发送的,设备也是一个一个十六进制代码接受的。
应此,如果设备端要接收“55 01 01 02 01”这样5个字节的十六进制代码,软件端发送可以这样,
例如发送字符串变量是buff:
char *buff[10];
buff[0]=0x55;
buff[1]=0x01;
buff[2]=0x01;
buff[3]=0x02;
buff[4]=0x01;
不幸的是如果要发送“55 01 01 02 01 00 00 5a”这样8个字节的十六进制代码,由于里面含有十六进制00(即0x00),0x00字符表示是'\0',在字符串中表示的字符串结束。
看你运气了,如果程序的源代码中发送字符串模块,发送字符长度是通过判断字符串长度(strlen)来工作的,那你怎么也发送不出“55 01 01 02 01 00 00 5a”这样8个字节的十六进制代码,从上看出
buff[5]=0x00;buff[6]=0x00;buff[7]=0x5a;时,你的软件会认为字符串长度只有5。只会发送出“55 01 01 02 01”这样5个字节的十六进制代码。如果你的软件发送字符长度是根据你输入或设定的,那能正常发送“55 01 01 02 01 00 00 5a”这样8个字节的十六进制代码。
例如发送字符串变量是buff:
char *buff[10];
buff[0]=0x55;
buff[1]=0x01;
buff[2]=0x01;
buff[3]=0x02;
buff[4]=0x01;
buff[5]=0x00;
buff[6]=0x00;
buff[7]=0x5a;
2、解决办法(不该源代码的情况下)
做个中间件,需要用到PC的多个串口通道(串口不够用多串口卡扩展),系统接线也要调整,如果是1对1(一套软件对一个设备)
例如:软件是用com1口发送接收,原来是直接com1口接设备,现在改成,com1口接com2口,com2口同时也接设备(注意RS232是可以三线通讯的,PC端com1口的2脚接com2口的3脚,com2口的3脚接设备的2脚,PC端com1口的3脚接com2口的2脚,com2口的2脚接设备的3脚,PC端com1口的5脚接com2口的5脚,接设备的5脚),这样做的原理是通过com2口来正确发送给设备十六进制代码。并且com1向com2发送的命令需要修改。例如
要发送“55 01 01 02 01 00 00 5a”这样8个字节的十六进制代码,软件这端
发送字符串变量是buff:
char *buff[10];
buff[0]=0x55;
buff[1]=0x01;
buff[2]=0x01;
buff[3]=0x02;
buff[4]=0x01;
buff[5]=0xee;
buff[6]=0xff;
buff[7]=0xee;
buff[8]=0xff;
buff[9]=0x5a;
com2口中间件收到“55 01 01 02 01 ee ff ee ff 5a”这样10个字节的十六进制代码,他就会进行转换(0xee表示下个字节需要转码,转码方法是减去0xff,那0xff实际就是0x00。)这样通过中间件在com2口向设备发送“55 01 01 02 01 00 00 5a”这样8个字节的十六进制代码。
以上是发送,如果接收呢,同样看商业软件的接受机制,如果商业软件收到0x00,实际就是'\0',表示一个字符串接受终止,那么接收数据怎么整都不能正常收到“55 02 01 02 01 00 00 5a”这样8个字节的十六进制代码(含0x00),那么只有改写源代码一种方法。
3、后记
如果你的所谓商业软件要求别人改源代码不切实际,而且商业软件也不复杂,可以找人重写商业软件了,现在做软件外快的人太多了,拿公司软件稍微改改,时间用不了多少,费用也不高,几千吧

Ⅷ RS-232C标准接口中发送数据和接收数据的针序号是什么

计算机串口(RS232)共有9个针脚,都是按顺序排列,各个针脚的定义如下:

1、针脚1的定义 :载波检测(DCD) ,接收线信号检出(Received Line detection-RLSD)。

2、针脚2 的定义:接受数据(RXD) ,为接收数据的引脚。

3、针脚3 的定义:发出数据(TXD),为发送数据的引脚。

4、针脚4的定义:数据终端准备好(DTR),数据终端就绪的首字母缩略词。

5、针脚5的定义:信号地线(SG)

6、针脚6的定义 :数据准备好(DSR) ,当调制/解调器启动时,在经过自身检测后,用DSR来声明已经准备就绪。

7、针脚7的定义 :请求发送(RTS) ,取得发送信息。

8、针脚8的定义:清除发送(CTS) ,清除数据。

9、针脚9的定义 :振铃指示(RI) ,发出提示。

仔细看 针脚对应的 数字

Ⅸ RS232发送数据的问题

换用数据模式

27 十进制数 不就是 十六进制1B 吗
270 十进制数 不就是 十六进制10E 吗

Ⅹ 模拟电压经AD转换由串口rs232发送

50Hz?是不是信号发生器质量不好,把电源杂波带进来了(市电不是50Hz的交流电吗,杂波就来自这里).有很多工业控制设备都把低通滤波器的截止频率调到50以下,为的就是逃过来自电源的干扰.
至于匹配的问题,元件型号不知道,很难讲的.AD本身输出是BCD码,还是2进制数,还是10进制值,或者其他什么希奇古怪的数据格式,反正232就直接转换为232的格式直接一字不差的输出了.

热点内容
线切割怎么导图 发布:2021-03-15 14:26:06 浏览:709
1台皮秒机器多少钱 发布:2021-03-15 14:25:49 浏览:623
焊接法兰如何根据口径配螺栓 发布:2021-03-15 14:24:39 浏览:883
印章雕刻机小型多少钱 发布:2021-03-15 14:22:33 浏览:395
切割机三五零木工貝片多少钱 发布:2021-03-15 14:22:30 浏览:432
加工盗砖片什么榉好 发布:2021-03-15 14:16:57 浏览:320
北洋机器局制造的银元什么样 发布:2021-03-15 14:16:52 浏览:662
未来小七机器人怎么更新 发布:2021-03-15 14:16:33 浏览:622
rexroth加工中心乱刀怎么自动调整 发布:2021-03-15 14:15:05 浏览:450
机械键盘的键帽怎么选 发布:2021-03-15 14:15:02 浏览:506