STM32之GPIO并行输入输出数据编程技巧

    在STM32实际编程中,会遇到GPIO口连续的引脚并行输出应用,例如数码管驱动,LCD并行驱动,如果单独逐个去驱动IO口,编程麻烦,而且效率比较低,其实可以直接采用寄存器编程实现,这种思路的前提是,尽量从GPIO_Pin_0端口开始分配管脚,这样比较方便。

这里主要用到GPIO的2个寄存器,分别是端口输入数据寄存器“GPIOx_IDR”和端口输出数据寄存器“GPIOx_ODR”其中x=A...E

这两个数据寄存器定义如下:

STM32之GPIO并行输入输出数据编程技巧_第1张图片

STM32之GPIO并行输入输出数据编程技巧_第2张图片

具体编程思路:

在头文件中进行宏定义即可,举例如下:

#define DATAOUT(x)    GPIOD->ODR=x;  
#define DATAIN        GPIOD->IDR;
 


你可能感兴趣的:(嵌入式,ARM)