GPIO基本知识——配置为输出

2019-07-15 15:47发布

GPIO基本知识——配置为输出


概述:F2806x系列DSP3IO端口。A口由GPIO0-GPIO31构成,B口由GPIO32-GPIO58构成。模拟端口由AIO0-AIO15构成。
DSP上的IO数量有限,为了最大化利用其功能,芯片的GPIO管脚通常具有复用功能,可以通过MUX实现对IO功能的选择。除GPIO功能外,F2806x系列DSP的管脚通常具有多达三种的外设信号接口功能。


以下,将按照功能进行叙述,详细说明GPIO的使用方法。


1.GPIO配置为输出


打开F28069核心板原理图,可以看到控制LED的相关电路。其中GPIO31与GPIO34经LVC2G07分别控制两个LED。LVC2G07为双路缓冲器,1Y-1A、2Y-2A保持一致信号。这里使用该缓冲器的原因在于,DSP的IO驱动能力有限,直接驱动LED电流可能出现驱动不足的现象。使用缓冲器可以解决这个问题。1.        GPIO功能初始化为了控制LED亮灭,需要将GPIO31与GPIO34设置为GPIO的输出功能,进而控制LED。GPIO31使用A口控制,GPIO34使用B口控制。GPIO功能选择寄存器为MUX寄存器,IO方向控制寄存器为DIR寄存器。需要注意的是,GPIO初始化流程可以放在CPU初始化完成之后,即InitPieVectTable()之后。因此,将GPIO31与GPIO34初始化为GPIO功能,方向为输出的代码可以设置如下。      InitSysCtrl();     DINT;  
  
   InitPieCtrl();  
  
   IER = 0x0000;     IFR = 0x0000;  
  
   InitPieVectTable();  
  
   EALLOW;     GpioCtrlRegs.GPAMUX2.bit.GPIO31  = 0;     GpioCtrlRegs.GPADIR.bit.GPIO31  = 1;     GpioCtrlRegs.GPBMUX1.bit.GPIO34  = 0;     GpioCtrlRegs.GPBDIR.bit.GPIO34  = 1;     EDIS;  
  
   EINT;   // Enable Global interrupt INTM     ERTM;   // Enable Global realtime interrupt DBGM  
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。