为了兼容不同的应用场景,有很多管脚可以配置为不同的功能,例如A和B两个管脚,既可以当作普通的GPIO使用,又可以配置为I2C的的SCL和SDA,也可以配置为UART的TX和RX,这称作管脚的复用(简称 pin mux)。使用 struct pinmux_ops 来抽象 pin mux 有关的操作,如下: 代码语言:javascript 代码运行次数:0 运行 AI代码解释...
IOMUX也叫FPIOA,Pin multiplexing,管脚功能选择等,在K230中,FPIOA就是iomux。 我们使用 MicroPython 语法来控制K230的引脚,machine.Pin 模块用于控制微控制器的 GPIO 引脚。Pin 类提供了访问和控制硬件引脚的功能,主要包括配置引脚模式,读写引脚状态等2. 各引脚的复用功能from machine import FPIOA IO = FPIOA() ...
打开飞凌嵌入式OK-MX9352-C开发板的设备树:OKMX93-linux-kernel/arch/arm64/boot/dts/freescale/OK-MX93-C.dts 在iomuxc节点下新建一组引脚复用,复用的两个GPIO分别是底板上的LED灯D6和按键K1。接下来新建一个GPIO节点,内容如下:注释掉LED和KEY部分,防止复用冲突:保存退出后重新编译设备树。执行环境变量:...
那么在使用作GPIO口时,就需要注意是否被复用为其他功能了,这里可以用io命令查看iomux来判断是否复用,在调试方法的章节中有相关说明,这里不多作说明。假如通过io命令发现GPIO0_B4有复用作I2C1_SDA,使用GPIO0_B4作gpio或者其他功能时就需要将I2C1 disabled掉。&...
GPIO1_B3的iomux寄存器地址为:基址(Operational Base) + 偏移量(offset)=0xff320000+0x00014=0xff320014 用以下指令查看GPIO1_B3的复用情况: # io -4 -r 0xff320014ff320014:0000816a 从datasheet查到[7:6]: gpio1b3_selGPIO1B[3]iomuxselect2'b00: gpio2'b01: i2c4sensor_sda2'b10: reserved2'b...
表5. FT引脚示例IOMUXI/O复用功能输入/输出大多数外设共享同一个GPIO引脚(比如PA0,可作为TMR1_EXT/USART2_CTS/I2C2_SCL/USART4_TX..)而对某个具体的GPIO引脚,在任意时刻只有一个外设能够与之相连某些外设功能还可以重映射到其他引脚,从而使得能同时使用的外设数量更多选择每个端口线的有效复用功能之一是由...
在iomuxc节点下新建一组引脚复用,复用的两个GPIO分别是底板上的LED灯D6和按键K1。 接下来新建一个GPIO节点,内容如下: 注释掉LED和KEY部分,防止复用冲突: 保存退出后重新编译设备树。 执行环境变量: forlinx@ubuntu:~/ok-mx93/OKMX93-linux-sdk$ . environment-setup-aarch64-toolchain ...
我们的设备树主要的配置文件在./arch/arm/boot/dts/imx6ull-mmc-npi.dts中, 打开imx6ull-mmc-npi.dts,在文件中搜索“&iomuxc”找到设备树中引用“iomuxc”节点的位置如下所示。 imx6ull-mmc-npi.dts中&iomuxc部分内容¶ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24...
为了兼容不同的应用场景,有很多管脚可以配置为不同的功能,例如A和B两个管脚,既可以当作普通的GPIO使用,又可以配置为I2C的的SCL和SDA,也可以配置为UART的TX和RX,这称作管脚的复用(简称 pin mux)。使用 struct pinmux_ops 来抽象 pin mux 有关的操作,如下: ...
OKMX93-linux-kernel/arch/arm64/boot/dts/freescale/OK-MX93-C.dts 在iomuxc节点下新建一组引脚复用,复用的两个GPIO分别是底板上的LED灯D6和按键K1。 接下来新建一个GPIO节点,内容如下: 注释掉LED和KEY部分,防止复用冲突: 保存退出后重新编译设备树。 执行环境变量: forlinx@ubuntu:~/ok-mx93/OKMX93-linu...