IMX6ULL RS485驱动中添加收发器使能脚控制

一、解决的问题         RS485收发器,用于uart的TX/RX信号和差分信号的转换。通过控制收发器使能脚改变其收发状态,拉高DE脚电平发送数据,拉低RE脚电平接收数据。本文介绍了在imx的rs485驱动...

一、解决的问题

        RS485收发器,用于uart的TX/RX信号和差分信号的转换。通过控制收发器使能脚改变其收发状态,拉高DE脚电平发送数据,拉低RE脚电平接收数据。本文介绍了在imx的rs485驱动中添加使能脚控制的方法。

8LlWZV.png

二、驱动修改方法

        以uart5为例,配置dts和驱动。

1、dts中添加控制引脚属性

文件路径:arch\arm\boot\dts\imx6ull-14x14-evk.dts  

主要修改:在dts文件的uart5节点中添加 fsl,rs485-gpio-ctrl = <&gpio4 23 0>;属性。

attachments-2020-03-QY7dLiMi5e7c824b1b3d2.png

2、在imx串口驱动源码中添加gpio-ctrl的控制代码

文件路径:drivers\tty\serial\imx.c  

修改内容:新增宏定义RS485_USE_GPIO_CTRL和该宏条件编译所包含的代码。在imx_port结构体中加入控制脚IO成员,设备注册时对控制脚IO的初始化,和发送数据时修改控制脚IO的电平状态。

完整修改后的代码,查看附件:imx.c

三、功能测试

附件的测试程序实现了对RS485接口的读写操作。

test-serial-rs485.c


  • 发表于 2020-03-26 18:31
  • 阅读 ( 1030 )
  • 分类:i.MX6ULL

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
FU
FU

9 篇文章

作家榜 »

  1. BBelephant 13 文章
  2. ronnie 11 文章
  3. FU 9 文章
  4. toca 4 文章
  5. 大飞 3 文章
  6. Vivek 3 文章
  7. jack-fang 2 文章
  8. Bin 1 文章