STM32 gpio并行输出

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

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

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



具体编程思路:

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


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

你可能感兴趣的:(STM32)