【北京迅为】i.MX6ULL终结者Linux RS232/485驱动实验RS232驱动

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

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两个节点了,如图 1.1所示:
在这里插入图片描述

图 1.1

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

1 &uart3 {
    
     
2 		pinctrl-names = "default"; 
3 		pinctrl-0 = <&pinctrl_uart3>; 
4 		status = "okay"; 
5 }; 

添加完成后,重新编译设备树文件,然后使用新的设备树文件启动Linux系统。系统启动以后就会生成一个名为“/dev/ttymxc2”的设备文件,ttymxc2 就是 UART3 对应的设备文件,应用程序可以通过访问 ttymxc2 来实现对 UART3 的操作。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/BeiJingXunWei/article/details/112650429
今日推荐