嵌入式备忘录(四) MOXA uport 1100系列转换器实现STM32H7进行485通讯

STM32CubeMX配置

  • 首先对使用到的串口USART1进行一切基础配置,波特率,奇偶校验,数据位长度,停止位等等,并且使能中断
    在这里插入图片描述
  • 对使用到的引脚重新命名
    在这里插入图片描述
  • 还需要选择一个GPIO引脚控制通讯的收发,这里选择了PA8
    在这里插入图片描述
  • 将这三个引脚接到485芯片上,芯片的型号这里选择的是MAX3485ESA+T,另一端输出RS485的差分信号
    在这里插入图片描述
  • 到这里初步配置就完成了,点击生成代码生成keil工程

keil代码

  • 根据485芯片的数据手册得知在串口收发消息前要对这两个引脚进行配置,使能发送时,要将RS458_DIR引脚拉高,使能接受时要对RS485_DIR引脚拉低
    在这里插入图片描述
  • 根据数据手册,在代码中进行一些宏定义
//使能接收
#define _485_RX_EN()	HAL_GPIO_WritePin(RS485_DIR_MCU_GPIO_Port, RS485_DIR_MCU_Pin, GPIO_PIN_RESET);
//使能发送
#define _485_TX_EN()	HAL_GPIO_WritePin(RS485_DIR_MCU_GPIO_Port, RS485_DIR_MCU_Pin, GPIO_PIN_SET);
  • 每次收发转换都要重新使能引脚,如果你跟我一样使用中断接受串口消息那么在调用HAL_UART_Transmit()函数前后要进行切换,防止芯片一直处于发送状态收不到消息
485_TX_EN()
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
HAL_Delay(5);//这里加一个短暂延时保证消息完全发送
_485_RX_EN()

系统设置

  • 最后要对uport usb转485转换器进行一些配置,右键windows选择设备管理器在这里插入图片描述
  • 选择多串口适配器,双击UPort 1150(这里根据具体型号有变化)
    在这里插入图片描述
  • 选择 Ports Configuration选项卡,点击port setting
    在这里插入图片描述
  • 选择当前连接的串口,选择RS-485 2W
    在这里插入图片描述
  • 点击OK完成对uport1150的设置,然后就可以正常的收发消息了,如果通讯不上可以拔插一下usb接口
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MAX3485ESA是一种三态RS-485/RS-422收发器,具有高速、低功耗、高噪声抑制和瞬态抑制等特点。其通信速率可达到10Mbps,适用于工业自动化、通信设备、安全系统等领域。 MAX3485ESA采用3.3V电压供电,具有低功耗特性,最大工作电流为1.5mA。其具有高噪声抑制能力,可抑制高达15kV的ESD,同时还具有瞬态保护功能,可保护器件免受电压峰值的影响。 MAX3485ESA支持RS-485和RS-422两种标准,可实现全双工或半双工通信。在RS-485模式下,可支持32个节点,最大传输距离为4000ft。在RS-422模式下,可实现点对点通信,最大传输距离为5000ft。 MAX3485ESA的引脚功能如下: 1. DE/RE:控制发送和接收模式的引脚。 2. DI:数据输入引脚。 3. RO:数据输出引脚。 4. VCC:供电引脚。 5. GND:地引脚。 6. RE/DE:控制接收和发送模式的引脚。 7. A/B:RS-485/RS-422差分数据线。 8. Y/Z:RS-485/RS-422差分数据线。 MAX3485ESA的主要特点: 1. 高速:通信速率可达10Mbps。 2. 低功耗:最大工作电流为1.5mA。 3. 高噪声抑制:可抑制高达15kV的ESD。 4. 瞬态抑制:可保护器件免受电压峰值的影响。 5. 支持RS-485和RS-422两种标准。 6. 可实现全双工或半双工通信。 7. 在RS-485模式下,可支持32个节点,最大传输距离为4000ft。 8. 在RS-422模式下,可实现点对点通信,最大传输距离为5000ft。 MAX3485ESA的应用领域: 1. 工业自动化。 2. 通信设备。 3. 安全系统。 4. 医疗设备。 5. 汽车电子。 6. 航空航天。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值