中科昊芯 DSP
直播中

987654321shen

6年用户 40经验值
擅长:嵌入式技术,接口/总线/驱动
私信 关注
[经验]

使用Haawking IDE 新建一个LED闪烁的工程

一 新建工程
第一步:打开Haawking IDE,点击file下面的new,选择C/C++++ Project


第二步:选择C 工程,点击下一步

第三步:选择工程,给工程起个名字,点击下一步

第四步:选择DSC28034芯片和工程类型,点击下一步


第五步:点击下一步

第六步:点击完成,工程就建好了


二 编写程序
第一步:编写LED灯、按键、蜂鸣器的驱动函数


/******************************************************************
函数名:void InitKEY(void)
参数:无
返回值:无
作用:配置GPIO27为输入模式,上拉禁止
******************************************************************/



void InitKEY(void)
{
EALLOW;
GpioCtrlRegs.GPAMUX2.bit.GPIO27 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO27 = 0;
GpioCtrlRegs.GPAPUD.bit.GPIO27 = 1;
EDIS;

}

/******************************************************************
函数名:void InitLED(void)
参数:无
返回值:无
作用:配置GPIO41、GPIO43、GPIO34为输出模式
******************************************************************/



void InitLED(void)
{
EALLOW;
GpioCtrlRegs.GPBMUX1.bit.GPIO41 = 0; //普通IO,对应D400,LED灯
GpioCtrlRegs.GPBDIR.bit.GPIO41 = 1; //输出
GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0; //普通IO,对应D401,LED灯
GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1; //输出
GpioCtrlRegs.GPBMUX1.bit.GPIO43 = 0; //普通IO,对应D402,LED灯
GpioCtrlRegs.GPBDIR.bit.GPIO43 = 1; //输出IO
GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 0; //普通IO,对应蜂鸣器
GpioCtrlRegs.GPADIR.bit.GPIO6 = 1; //输出IO
EDIS;

}
第二步:主函数调用驱动函数并实现一个LED的闪烁,按键按下,蜂鸣器响,LED亮,弹起蜂鸣器关闭,LED灭

int main(void)
{
//int temp, in;
//volatile unsigned int i;
//DisableDog();
EALLOW;
P_SysCtrlRegs->INTOSC1TRIM.bit.FINETRIM = 0;
P_SysCtrlRegs->INTOSC2TRIM.bit.FINETRIM = 0;
EDIS;
InitSysCtrl(); //将PLL配置成10倍频1分频,配置系统时钟为120M
DINT;

int i = 0;

InitPieCtrl();  //初始化PIE 控制寄存器

IER_DISABLE(0xffff);
IFR_DISABLE(0xffff);

InitPieVectTable();

//PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;

InitKEY();

InitLED();

GpioDataRegs.GPBSET.bit.GPIO41 = 1;

//Disable CPU interrupts and clear all CPU interrupt flags:





while(1){

GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1;
GpioDataRegs.GPBTOGGLE.bit.GPIO43 = 1;
for(i = 0;i<1000;i++)
{
for(j = 0;j < 1000;j++)
{}
}
if(GpioDataRegs.GPADAT.bit.GPIO27 == 0)
{
GpioDataRegs.GPBCLEAR.bit.GPIO41 = 1;
GpioDataRegs.GPASET.bit.GPIO6 = 1;

}
else
{
GpioDataRegs.GPBSET.bit.GPIO41 = 1;

GpioDataRegs.GPACLEAR.bit.GPIO6 = 1;
}

}


return 0;
}

// ----------------------------------------------------------------------------
仿真编译
第一步:给开发板供电,连接仿真器,如下图所示


第二步:编译调试


第三步:运行


四 实验现象


回帖(1)

槐鬼鬼

2021-5-27 07:14:42
棒。。。。。。。
1 举报

更多回帖

发帖
×
20
完善资料,
赚取积分