📄 gpio.c
字号:
//==============cpu 中断============================//
#include"DSP281x_Device.h"
void Configuregpio(void);
void InitialSystem(void);
interrupt void cpu_timer0_isr(void);
void main(void)
{
unsigned int LED= 1;
InitialSystem(); //初始化内核寄存器
Configuregpio(); //对Gpio口进行配置
InitPieCtrl(); //调用pie控制单元初始化函数
InitPieVectTable();//调用pie向量表初始化函数
EALLOW;
PieVectTable.TINT0=&cpu_timer0_isr;//对入口向量地址重新映射
EDIS;
InitCpuTimers();
ConfigCpuTimer(&CpuTimer0,150,50000);//设置定时期时间
PieCtrlRegs.PIEIER1.bit.INTx7=1;//使能pie的TINT0中断
IER=1; //使能全局中断
EINT;
ERTM;
CpuTimer0Regs.TCR.bit.TSS=0;//启动定时期
while(1)
{
GpioDataRegs.GPBDAT.bit.GPIOB0=LED;
while(CpuTimer0.InterruptCount<3);
CpuTimer0.InterruptCount=0;
LED=1-LED;
}
}
//=====================GPIO口初始化配置======================//
void Configuregpio(void)
{
EALLOW; //在向保护型寄存器写数据时接触保护
//将GPIO口配置成通用I/O口
GpioMuxRegs.GPAMUX.all=0x0;
GpioMuxRegs.GPBMUX.all=0x0;
GpioMuxRegs.GPDMUX.all=0x0;
GpioMuxRegs.GPEMUX.all=0x0;
GpioMuxRegs.GPFMUX.all=0x0;
GpioMuxRegs.GPGMUX.all=0x0;
//配置管脚输入输出功能
GpioMuxRegs.GPADIR.all=0x0;
GpioMuxRegs.GPBDIR.all=0x00FF;
GpioMuxRegs.GPDDIR.all=0x0;
GpioMuxRegs.GPEDIR.all=0x0;
GpioMuxRegs.GPFDIR.all=0x0;
GpioMuxRegs.GPGDIR.all=0x0;
//将所有GPIO口限制设定为0
GpioMuxRegs.GPAQUAL.all=0x0;
GpioMuxRegs.GPBQUAL.all=0x0;
GpioMuxRegs.GPDQUAL.all=0x0;
GpioMuxRegs.GPEQUAL.all=0x0;
EDIS; //对寄存器加保护
}
//=====================系统初始化函数===================//
void InitialSystem(void)
{
EALLOW; //在向保护型寄存器写数据时接触保护
SysCtrlRegs.WDCR=0x00E8; // 设置看门狗模块 ,禁止看门狗
SysCtrlRegs.PLLCR.bit.DIV=10; //设置150M时钟
SysCtrlRegs.HISPCP.all=0x1; //设置高速时钟
SysCtrlRegs.LOSPCP.all=0x2; //设置低速时钟
SysCtrlRegs.PCLKCR.bit.EVAENCLK=0;
SysCtrlRegs.PCLKCR.bit.EVBENCLK=0;
SysCtrlRegs.PCLKCR.bit.SCIAENCLK=0;
SysCtrlRegs.PCLKCR.bit.SCIBENCLK=0;
SysCtrlRegs.PCLKCR.bit.MCBSPENCLK=0;
SysCtrlRegs.PCLKCR.bit.ADCENCLK=0;
SysCtrlRegs.PCLKCR.bit.ECANENCLK=0;
SysCtrlRegs.PCLKCR.bit.SPIENCLK=0;
EDIS; //对寄存器加保护
}
interrupt void cpu_timer0_isr(void)
{
CpuTimer0.InterruptCount++;
PieCtrlRegs.PIEACK.bit.ACK1=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -