当前位置:首页 » 操作系统 » rs232源码

rs232源码

发布时间: 2022-10-01 12:26:01

1. 关于开发板上的rs232

rs232 是 技术标准 代号,不是 芯片

可能 说的 是 max232 吧

建议 去 我的领地 5d6d 的 proteus 论坛看看

那里有很多 单片机仿真实例,包括仿真图 和 源码
搜 5d6d 和 proteus 2个关键词

2. rs232与单片机实施收发数据的详细步骤,及其特点

先解释一下现象:
(1)MAX232的12脚即R1OUT连接到了单片机的RX脚,因此使用探头碰MAX232的12引脚时导入了干扰信号,所以接收到了乱的数据。同时,也证明了单片机的接收电路和程序都没有问题。
(2)板子上的地接到示波器上的地,PC才能收到数据,说明单片机与PC没有共地。同时,也证明了单片机的发送电路、程序和PC的接收电路都没有问题。
原理:
(1)PC的串口即RS232有9个引脚,与单片机通信时用到三个引脚,依次是2脚RX、3脚TX、5脚信号GND。
(2)而单片机串口与此相反,2脚TX、3脚RX、5脚信号GND。
(3)只要把这三根线依次连接,2-2、3-3、5-5即可完成通信。
(4)同时,根据实际通信设备接口不同,串口线也分多种,如直连线、交叉线、公母头区别等。
故障排除流程:
(1)用万用表等测量MAX232的14脚T1OUT与开发板串行接口的2脚TX、MAX232的13脚R1IN与开发板串行接口的3脚RX、开发板串行接口的5脚与电源地是不是分别连接。如果连接没问题,则进行下一步。
(2)用万用表等测量串口线,PC端的2脚与单片机端的2脚、PC端的3脚与单片机端的3脚、PC端的5脚与单片机端的5脚是不是分别对应,如果对应连接没问题,则进行下一步。
(3)将PC上串行接口的2、3引脚短接。
(4)打开串口工具如“超级串口”等,下载地址,打开串口,在输入框中随便输入几个字符,看是不是能在接收窗口中收到。
(5)如果收不到,则说明PC的串口问题(排除串口工具没有开错串口或短接没问题的情况下),换台电脑试下。能收到,则说明电脑端收发都没问题,进行下一步。
(6)将串口线插到电脑上,开发板端的插头不插而直接将2、3脚短接。再次用串口工具发送,看是否能接收到,如果能接收到,则证明串口线没问题,进行下一步。
(7)将串口线插到开发板得串行接口上,再使用串口工具收发。
(8)如果以上都不行,则自己做3根线,也可以使用杜邦线,将PC的TX与开发板的RX、PC的RX与开发板的TX、PC的信号地与开发板的地分别相连。再用串口工具收发测试。
通过以上步骤,则可以逐步排查到问题的具体原因。不过,根据问题及之后的描述,最大的可能性是串口线用的不对,导致PC串口与开发板串口的3根线没有分别对应上。

3. 如何用RS232实现2台电脑的通信要源代码用C写的

RS232 通常是 点对点 通信

当然, 用 专用的 模块,也可以 实现 点对多的 主从 通信

请看 武汉鸿伟光电
E232H4 4路RS-232高速隔离集线转换器
特点

▶实现一个串口设备与4个串口设备主从式通信
▶专用工业导轨槽模块
▶两端信号保持光电隔离;
▶全面容错机制,一路从节点损坏不影响其他节点通信

4. 串口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、后记
如果你的所谓商业软件要求别人改源代码不切实际,而且商业软件也不复杂,可以找人重写商业软件了,现在做软件外快的人太多了,拿公司软件稍微改改,时间用不了多少,费用也不高,几千吧

5. RS232串口通信程序(VC++实现)

visual
c++_turbo
c串口通信编程实践

6. pb 如何调用电子秤(RS232)数据 请高手指点 最好给出源码 多谢!

pb ?powerbuilder?

用 mscomm 吧
和 VB 类似

7. 通过JS获取串口数据的源代码,RS232的串口

串口数据通信使用JS没办法去做的。你这个需要用C或者C++等底层语言去获取。

热点内容
密码子的原料是什么 发布:2024-09-19 09:11:42 浏览:347
半夜编程 发布:2024-09-19 09:11:36 浏览:103
海康威视存储卡质量如何 发布:2024-09-19 08:55:35 浏览:939
python3默认安装路径 发布:2024-09-19 08:50:22 浏览:516
环卫视频拍摄脚本 发布:2024-09-19 08:35:44 浏览:418
sqlserveronlinux 发布:2024-09-19 08:16:54 浏览:256
编程常数 发布:2024-09-19 08:06:36 浏览:952
甘肃高性能边缘计算服务器云空间 发布:2024-09-19 08:06:26 浏览:162
win7家庭版ftp 发布:2024-09-19 07:59:06 浏览:717
数据库的优化都有哪些方法 发布:2024-09-19 07:44:43 浏览:269