port->base + GPIO_PSR, port->base + GPIO_DR,NULL, port->base + GPIO_GDIR,NULL, BGPIOF_READ_OUTPUT_REG_SET);if(err)gotoout_bgio;if(of_property_read_bool(np,"gpio_ranges")) port->gpio_ranges =true;elseport->gpio_ranges =false; port->gc.request = mxc_gpio_request; port->gc...
在GPIO配置为输入时,读取DR寄存器返回的不是DR数据,相反,而是返回PSR数据,对应相应PAD的值。 3.2 向PAD写值 设置PAD值的编程顺序如下: ⑴配置IOMUX选择GPIO模式。 ⑵配置GPIO的GDIR寄存器,使对应的PAD作为输出。 ⑶向DR寄存器对应位写入需要控制的值。 在GPIO设置为输出时,只能通过读取PSR寄存器来验证PAD的值。 3....
④GPIO外设:GPIO模块是每个IO都具有的外设, 它是IO控制的基本功能, 如输出高低电平、 检测电平输入等。当需要使用引脚的GPIO功能时,就要配置GPIO外设中的各个寄存器(DR、GDIR、PSR...)。 ⑤与其它引脚的连接:这里是另一个引脚PAD2,它与PAD1有一根信号线连接,表示部分引脚的输出可以作为另一个引脚的输入。 1.2....
若要设置GPIO1_IO00为输入,则GPIO1.GDIR=0;反之GPIO1.GDIR=1 配置PSR寄存器:状态寄存器,每个IO对应一个位,用于获取对应的GPIO的状态 是一个只读寄存器,功能类似于输入状态下的DR寄存器 配置ICR1/ICR2寄存器:中断控制寄存器,每两位对应一个GPIO,ICR1用于配置低16个GPIO,ICR2用于配置高16个GPIO 例如设置GPIO1_...
GPIOx_PSR也叫做引脚状态寄存器,该寄存器同样是一个位对应着一个IO口,当GPIO的方向设置为输入时,读取相应的位将返回对应的IO口的电平状态。 接下来,就是GPIOx_ICR1和GPIOx_ICR2寄存器,也叫做GPIO中断控制寄存器,其中GPIOx_ICR1用来设置低16个GPIO,GPIOx_ICR2用来设置高16个GPIO,每两个位域配置一个GPIO,GPIO...
GPIO_PSR引脚状态寄存器用于读取IO口的状态,相当于输入模式下的GPIO_DR寄存器。 注意:当 IOMUXC 开启 IO 口的强制输入(SION=1)时,可以通过 GPIO_PSR 读取 IO 口的状态。 GPIO_ICR1/2——GPIO 中断配置寄存器 GPIO_ICR1 用于配置 IO0~IO15 的中断触发条件,总共有 4 种触发条件可选:00,低电平触发;01,高...
GPIOx_PSR(Pad Status Register):用于读取 GPIO 引脚的当前状态。 GPIOx_ICR1/ICR2(Interrupt Configuration Registers):用于配置 GPIO 引脚的中断触发方式。 GPIOx_IMR(Interrupt Mask Register):用于使能或屏蔽 GPIO 引脚的中断。 GPIOx_ISR(Interrupt Status Register):用于读取和清除 GPIO 引脚的中断状态。
⏩ 配置PSR寄存器:状态寄存器,每个IO对应一个位,用于获取对应的GPIO的状态 是一个只读寄存器,功能类似于输入状态下的DR寄存器 ⏩ 配置ICR1/ICR2寄存器:中断控制寄存器,每两位对应一个GPIO,ICR1用于配置低16个GPIO,ICR2用于配置高16个GPIO 例如设置GPIO1_IO15为上升沿触发中断,则GPIO1.ICR1 = 2 << 30 ...
④GPIO外设:GPIO模块是每个IO都具有的外设, 它是IO控制的基本功能, 如输出高低电平、 检测电平输入等。当需要使用引脚的GPIO功能时,就要配置GPIO外设中的各个寄存器(DR、GDIR、PSR...)。 ⑤与其它引脚的连接:这里是另一个引脚PAD2,它与PAD1有一根信号线连接,表示部分引脚的输出可以作为另一个引脚的输入。
2.2.3 配置PSR寄存器 PSR(Pad Status Register),即状态寄存器,也是32位的。 注意它是一个只读寄存器,每个IO对应一个位,读取相应的位即可获取对应的GPIO的状(高低电平值),功能和输入状态下的DR寄存器一样。 这个寄存器使用ipg_clk_s时钟,这意味着只有在访问这个位时才对输入信号进行采样。所以,为了同步访问这个...