⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gpio.c

📁 TI DSP C6713 同相同公司C2812利用MSBSP多功能串口通讯的实例
💻 C
字号:
#include "gpio.h"

/*
输入输出信号与A/D,D/A通道对应关系表:
输出信号:
T0    -- HD8/GPO[8]
U(R)s -- HD9/GPO[9]
U(R)g -- HD10/GPO[10]

输入信号:
T(R)j    -- EXT_INT7/GP0[7] 高电平有效
T(IR)j   -- EXT_INT6/GP0[6] 高电平有效

*/
void initialgpio()
{
/*
 Description:初始化通用IO寄存器:GPIO_ENABLE,GPIO_DIRECTION,GPIO_VALUE

                                                                                   */ 
 *(unsigned volatile int *)GPIO_ENABLE = 0x87c0;  //enable GPIO6,GPIO7,GPIO8,GPIO9,GPIO10 
//   Rsvd   GP15EN  GP14EN  GP13EN  GP12EN  GP11EN  GP10EN  GP9EN  GP8EN  GP7EN  GP6EN  GP5EN   GP4EN  GP3EN  GP2EN GP1EN GP0EN 
//  31 - 16   15      14      13      12      11      10      9      8      7      6      5       4      3      2     1     0
//   0 - 0     1       0      0       0        0       1      1      1      1      1      0       0      0      0     0     0
//GPXEN = 1 GPX pin is enabled as general-purpose input/output pin
//GPXEN =0  GPX pin is disable as general-purpose input/output pin
*(unsigned volatile int *)GPIO_DIRECTION = 0x8700;  // Set the GPIO direction 
 
       
//   Rsvd   GP15DIR  GP14DIR  GP13DIR  GP12DIR  GP11DIR  GP10DIR  GP9DIR  GP8DIR  GP7DIR  GP6DIR  GP5DIR   GP4DIR  GP3DIR  GP2DIR GP1DIR GP0DIR 
//  31 - 16   15       14       13       12       11       10       9       8       7       6       5        4       3       2      1      0
//   0 - 0     1        0        0        0        0        1       1       1       0       0       0        0       0       0      0      0
//GPXDIR = 0 GPx pin is an input
//GPXDIR = 1 GPx pin is an output


//GPIO_VALUE寄存器的值在当前应用的条件下暂时可以不用设置
//GPIO_VALUE寄存器的值如下:当对应的IO脚是输入的时候,GPIO_VALUE寄存器的值表示当前的输入值;
//                          当对应的IO脚是输出的时候,GPIO_VALUE寄存器的值表示当前的输出值.


//GPIO_DELTAH寄存器的值在当前应用的条件下暂时可以不用设置


//GPIO_DELTAL寄存器的值在当前应用的条件下暂时可以不用设置

  *(unsigned volatile int *)GPIO_HMASK = 0x0c0;  // Set the mask bit   
//   Rsvd   GP15HM  GP14HM  GP13HM  GP12HM  GP11HM  GP10HM  GP9HM  GP8HM  GP7HM  GP6HM  GP5HM   GP4HM  GP3HM  GP2HM GP1HM GP0HM 
//  31 - 16   15      14      13      12      11      10      9      8      7      6      5       4      3      2     1     0
//   0 - 0     0       0       0       0       0       0      0      0      1      1      0       0      0      0     0     0
//GPXHM = 0 Interrupt/event genetation disable for GPx
//GPXHM = 1 Interrupt/event genetation enable for GPx

  *(unsigned volatile int *)GPIO_LMASK = 0x000;  // Set the mast bit    
//   Rsvd   GP15LM  GP14LM  GP13LM  GP12LM  GP11LM  GP10LM  GP9LM  GP8LM  GP7LM  GP6LM  GP5LM   GP4LM  GP3LM  GP2LM GP1LM GP0LM 
//  31 - 16   15      14      13      12      11      10      9      8      7      6      5       4      3      2     1     0
//   0 - 0     0       0       0       0       0       0      0      0      0      0      0       0      0      0     0     0
//GPXLM = 0 Interrupt/event genetation disable for GPx
//GPXLM = 1 Interrupt/event genetation enable for GPx

  *(unsigned volatile int *)GPIO_GCONTROL = 0x0;  //  
//   Rsvd   GP0M  GPINT0M  Rsv  GPINTPOL  LOGIC  GPINTDV  
//  31 - 6    5      4      3       2       1       0
//   0 - 0    0      0      0       0       0       0

  *(unsigned volatile int *)GPIO_INTERRUPTP = 0x0;  //  
//   Rsvd   GPINT7POL  GPINT6POL     GPINT5POL   GPINT4POL   Rsv  GPINT0POL 
//  31 - 8      7         6             5            4        2       0
//   0 - 0      0         0             0            0       0        0
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -