stc单片机485发送多出一字节_半双工串口通信实例32:STC12单片机和西门子S7200串口通信...

一、串口通信实例目的:

STC12单片机主站数字量输入DI01~DI08控制西门子S7-200从站数字量输出Q0.0~Q0.7;

西门子S7-200从站数字量输入I0.0~I0.7控制STC12单片机主站数字量输出DO01~DO08。

二、通信硬件连接:

1、单片机主站串口2通信口端子之具体含义:

3脚:即为RS485发送\接收+信号;

8脚:即为RS485发送\接收-信号。

2、西门子S7-200从站Port0通信口端口之具体含义:

3脚即为RS485发送\接收+信号;

8脚即为RS485发送\接收-信号。

3、通信硬件连接:

STC12单片机主站串口2的3脚 接 西门子S7-200从站Port0通信口3脚;

STC12单片机主站串口2的8脚 接 西门子S7-200从站Port0通信口8脚。

三、STC12单片机主站通信程序:

1、发送字节计数为4;

2、通信参数:数据位8位、无校验、1位停止位、波特率9600bps、起始符为0x02、结束符为0x03;

3、将数字量输入DI01~DI08转换为ASCII码送入发送缓冲区中;

4、初始化开始启动发送;

5、发送完成后等待接收;

6、将接收到的ASCII码数据转换为16进制送入DO01~DO08。

79b87e30087f5415023e3607d69264ee.png

四、西门子S7-200从站通信程序:

(一)、主程序:

1、发送缓冲区首地址为VB0、发送字节计数为4;

2、通信参数:数据位8位、无校验、1位停止位、波特率9600bps、起始符0x02、结束符0x03;

3、接收字节计数为4;

4、启动端口0接收完成中断;

5、启动端口0发送完成中断;

6、发送时的起始符和结束符保存至VB1和VB4中;

7、将8路数字量输入I0.0~I0.7转换为ASCII码保持至VB2和VB3里;

8、将接收到的2个ASCII码转换为16进制数据送入到Q0.0~Q0.7里;

9、初始化启动串口通信接收。

(二)、接收完成中断:

1、接收完成转存数据,将接收到的数据保持至VB41、VB42里;

2、启动定时器中断

(三)、定时器中断:

1、开启发送

(四)、发送完成中断:

1、发送完成后启动新的接收

11e923be43e54d7e7aadc1f6da79a5d7.png

五、通信程序高清截图提供下载:

链接:
https://pan.baidu.com/s/1gH3W_fHzkid6C0YZNj3Mig

密码:
u8tq

六、作者联系方式:

1、微信:guanyumou

2、QQ:149034219

3、抖音:guanyumou

4、快手:guanyumou

5、公众号:串口通信之家

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值