嵌入式备忘录(四) 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
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值