半双工串口通信实例31:STC12单片机和三菱FX3U串口通信
一、串口通信实例目的:
STC12单片机主站数字量输入DI01~DI08控制三菱FX3U从站数字量输出Y0~Y7;
三菱FX3U从站数字量输入X0~X7控制STC12单片机主站数字量输出DO01~DO08。
二、通信硬件连接:
1、单片机主站串口2通信口端子含义:
3脚:即为RS485发送\接收+信号
8脚:即为RS485发送\接收-信号
2、三菱FX3U从站FX3U-485-BD端子含义:
SDA和RDA短接后即为RS485发送\接收+信号
SDB和RDB短接后即为RS485发送\接收-信号
3、通信硬件连接:
STC12单片机主站串口2的3脚 接 三菱FX3U从站FX3U-485BD之SDA和RDA短接;
STC12单片机主站串口2的8脚 接 三菱FX3U从站FX3U-485BD之SDB和RDB短接;
三、STC12单片机主站通信程序:
1、发送字节计数为4;
2、通信参数:数据位8位、无校验、1位停止位、波特率9600bps、起始符为0x02、结束符为0x03;
3、将数字量输入DI01~DI08转换为ASCII码送入发送缓冲区中;
4、初始化开始启动发送;
5、发送完成后等待接收;
6、将接收到的ASCII码数据转换为16进制送入DO01~DO08.
四、三菱FX3U从站通信程序:
1、通信参数:数据位8位、无校验、1位停止位、波特率9600bps、8位数据模式、起始符0x02、结束符0x02;
2、三菱FX3U从站8路输入X0~X7转换为ASCII码保存至D1、D2寄存器里;
3、三菱FX3U从站程序RS指令发送缓冲区首地址D1、发送字节计数为2、接收缓冲区首地址D11、接收字节计数为2;
4、初始化等待接收,接收完成标志位置位后,将接收到的数据保持至D41、D42寄存器里,转换为16进制数据送给三菱FX3U从站输出;
5、接收完成后,延时10ms开始发送,将三菱FX3U从站8路数字量输入X0~X7发送出去。
五、通信程序高清截图提供下载:
楼主最近还看过