imx6 配置串口波特率_迅为IMX6ULL开发板Linux RS232/485驱动实验(下)

本文详细介绍了如何在迅为IMX6ULL开发板上配置RS232和RS485串口,包括硬件原理、驱动设置和测试步骤。通过修改设备树、添加UART3节点并编写应用测试程序,实现了对串口的波特率、数据位、奇偶校验和停止位的设置。测试过程涉及串口写入和读取数据,验证了串口通信的正确性。
摘要由CSDN通过智能技术生成

53.3  硬件原理图

53.3.1 RS232

UART3 通过跳线帽 J46 来设置成 TTL 电平的 RS232 信号。连接 J46 的 3-5 和 4-6 后,UART3 通过 TTL 电平输出。

53.3.2 RS485

RS485 通过 SP3485 芯片将串口信号转换为 RS485 信号,RE 是接收使能信号(低电平有效),OE 是发送使能信号(高电平有效)。在图中 RE 和 OE 经过一系列的电路,最终通过 RS485_1_TX 来控制,这样我们可以省掉一个 RS485 收发控制 IO,将 RS485 完全当作一个串口来使用,方便我们写驱动。

53.4 RS232  驱动

I.MX6U 的 UART 驱动NXP已经编写好了,所以不需要我们编写。我们需要做的就是在设备树中添加 UART3 对应的设备节点即可。

53.4.1  设备树添加 UART3  节点

打开 topeet_emmc_4_3.dts 文件,首先添加 UART3 对应的 pinctrl 子节点,在 iomuxc 中添加如下内容:

1 pinctrl_uart3: uart3grp {

2 fsl,pins = <

3 MX6UL_PAD_UART3_TX_DATA__UART3_DCE_TX 0X1b0b1

4 MX6UL_PAD_UART3_RX_DATA__UART3_DCE_RX 0X1b0b1

5 >;

6 };

然后检查一下 UART3_TX 和 UART3_RX 这两个引脚有没有被用作其他功能,如果有的话要将其屏蔽掉,保证这两个 IO 只用作 UART3。

添 加 完 pinctrl 子 节 点 后 , 添 加 uart3 节 点 , 仍 然 是 在 topeet_emmc_4_3.dts 文 件 中 , 在topeet_emmc_4_3.dts 文件中已经默认存在了 uart1 和 uart2 两个节点了,如图 53.4.1.1 所示:

因为没有用到 uart2,并且 uart2 的引脚节点中用到了 uart3 的 IO,所以需要将 uart2 注释或删掉。然后添加 uart3 节点,内容如下:

1 &uart3 {

2 pinctrl-names = "default";

3 pinctrl-0 = ;

4 status = "okay";

5 };

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值