EETOP 创芯网论坛 (原名:电子顶级开发网)

标题: 使用Haawking IDE 新建一个LED闪烁的工程 [打印本页]

作者: 王钰    时间: 2021-5-24 20:56
标题: 使用Haawking IDE 新建一个LED闪烁的工程
[转载] 使用Haawking IDE 新建一个LED闪烁的工程
https://bbs.elecfans.com/m/jishu_2085467_1_1.html
[size=0.24]前天 16:28

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

( , 下载次数: 36 )
第二步:选择C 工程,点击下一步
( , 下载次数: 37 )
第三步:选择工程,给工程起个名字,点击下一步
( , 下载次数: 31 )
第四步:选择DSC28034芯片和工程类型,点击下一步

( , 下载次数: 30 )
第五步:点击下一步
( , 下载次数: 28 )
第六步:点击完成,工程就建好了

( , 下载次数: 32 )
二 编写程序
第一步:编写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;
}

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

( , 下载次数: 32 )
第二步:编译调试

( , 下载次数: 35 )
第三步:运行

( , 下载次数: 33 )
四 实验现象
( , 下载次数: 34 )








欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/) Powered by Discuz! X3.5