pin mux 为了兼容不同的应用场景,有很多管脚可以配置为不同的功能,例如A和B两个管脚,既可以当作普通的GPIO使用,又可以配置为I2C的的SCL和SDA,也可以配置为UART的TX和RX,这称作管脚的复用(简称 pin mux)。使用 struct pinmux_ops 来抽象 pin mux 有关的操作,如下: 代码语言:javascript 代码运行次数:0 运行 ...
DL_GPIO_initDigitalOutput(GPIO_GRP_0_PIN_4_IOMUX); DL_GPIO_clearPins(GPIO_GRP_0_PORT,GPIO_GRP_0_PIN_1_PIN| GPIO_GRP_0_PIN_2_PIN); DL_GPIO_setPins(GPIO_GRP_0_PORT,GPIO_GRP_0_PIN_4_PIN); DL_GPIO_enableOutput(GPIO_GRP_0_PORT,GPIO_GRP_0_PIN_1_PIN|...
pin: 要配置的引脚编号,范围:[0, 63] func: 要分配给引脚的功能代码 普通GPIO:FPIOA.GPIO0,FPIOA.GPIO1,FPIOA.GPIO2等,范围[0,63] 串口:FPIOA.UART0_TXD,FPIOA.UART0_RXD,FPIOA.UART1_RXD等。 IIC:FPIOA.IIC0_SCL,FPIOA.IIC0_SDA,FPIOA.IIC1_SCL,FPIOA.IIC1_SDA等。 PWM: FPIOA.PWM0, FPIOA....
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...
pin mux 为了兼容不同的应用场景,有很多管脚可以配置为不同的功能,例如A和B两个管脚,既可以当作普通的GPIO使用,又可以配置为I2C的的SCL和SDA,也可以配置为UART的TX和RX,这称作管脚的复用(简称 pin mux)。使用 struct pinmux_ops 来抽象 pin mux 有关的操作,如下: ...
pin mux 为了兼容不同的应用场景,有很多管脚可以配置为不同的功能,例如A和B两个管脚,既可以当作普通的GPIO使用,又可以配置为I2C的的SCL和SDA,也可以配置为UART的TX和RX,这称作管脚的复用(简称 pin mux)。使用 struct pinmux_ops 来抽象 pin mux 有关的操作,如下: ...
1、PIN配置信息详解 要使用pinctrl子系统,我们需要在设备树里面设置PIN的配置信息,毕竟pinctrl子系统要根据你提供的信息来配置PIN功能,一般会在设备树里面创建一个节点来描述PIN的配置信息。打开imx6ull.dtsi文件,找到一个叫做iomuxc的节点,如下所示:示例代码45.1.2.1 iomuxc节点内容1 756 iomuxc:iomuxc@020e...
root@ok-mx93:/run/media/Boot-mmcblk0p1# cp /run/media/sda/OK-MX93-C.dtb ./ 重启OK-MX9352-C开发板。03 通过命令测试 在OKMX6ULL-S开发板中,操作GPIO的方式是通过操作/sys/class/gpio下的文件来实现的。而在OK-MX9352-C上,引入了新的Lingpiod的方式,而原有的基于sysfs的操作方式已经不再被...
gpio-ranges:将gpio编号转换成pin引脚,<&iomuxc 0 94 17>,表示将gpio4的第0个引脚引脚映射为97, 17表示的是引脚的个数。 gpio4这个节点对整个gpio4进行了描述。使用GPIO子系统时需要往设备树中添加设备节点,在驱动程序中使用GPIO子系统提供的API 实现控制GPIO的效果。
pin mux 为了兼容不同的应用场景,有很多管脚可以配置为不同的功能,例如A和B两个管脚,既可以当作普通的GPIO使用,又可以配置为I2C的的SCL和SDA,也可以配置为UART的TX和RX,这称作管脚的复用(简称 pin mux)。使用 struct pinmux_ops 来抽象 pin mux 有关的操作,如下: ...