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;
//vola
ti
le 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);
IF
R_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