|
ADuCM360是一款高精度的数据采集芯片,具有很高的开发使用意义。该款芯片的资料可通过ADI公司的官网获得。
拿到开发套件后首先要搭建开发环境,我选择的最常用的开发环境——KEIL5。该款软件也可以在ADI公司的官网找到,具体安装步骤这里就不再赘述了,我相信各位大神都曾做过此类芯片的开发。搭建完开发环境后马上迫不及待开始测试第一个小程序,根据我的喜好,不管各类开发板,首先要测的就是LED灯。所以根据ADuCM360的数据手册和配套的代码例程,先把必要的文件夹建起来。我是按照stm32的开发新建的各类文件夹,这样方便管理,也是便于查找文件。话不多说,马上进入程序编写。
首先我把ADuCM360的库函数集中到一个.h文件中,这样也是为了以后编写程序方便。像下图这样。
然后在新建的.c文件中编写代码(配套的.h文件相信大家都轻车熟路了~),在电路图中找到LED对应引脚,下图可以清楚地看到是P1.3引脚。
对LED的引脚进行初始化函数编写,代码先贴出来。
void Led_Init(){ WdtCfg(T3CON_PRE_DIV1,T3CON_IRQ_EN,T3CON_PD_DIS); DioOen(pADI_GP1,0x08); ClkDis(CLKDIS_DISSPI0CLK|CLKDIS_DISSPI1CLK|CLKDIS_DISI2CCLK|CLKDIS_DISUARTCLK|CLKDIS_DISPWMCLK|CLKDIS_DIST0CLK|CLKDIS_DIST1CLK|CLKDIS_DISDACCLK|CLKDIS_DISDMACLK|CLKDIS_DISADCCLK); ClkCfg(CLK_CD0,CLK_HF,CLKSYSDIV_DIV2EN_DIS,CLK_UCLKCG); }来来来,看代码。第一行是失能看门狗的指令,因为用不到所以就先失能它。然后是配置P1.3作为输出口,该配置方式可通过数据手册查得。接下来的一行就是失能不需要的外设时钟,然后配置CD0为系统时钟,也是就16MHz时钟,该库函数可通过查阅相关.h文件查得。这样一个简单的初始化函数就OK了。然后还需要一个延时函数,为了方便,直接拿来例程中的延时函数。该函数很简单这里就不解释了,相信各位看一下就明白了。
void delay (long int length){ while (length >0) length--;}<br>然后需要写一个子函数用来闪烁LED,老规矩,代码先贴出来。
void StartLed(){ DioTgl(pADI_GP1,0x08); delay(10000000); }一个简单的子函数,首先让LED闪烁,然后是调用延时函数。如果不懂DioTgl(pADI_GPI,0x08)的使用规则,可找到该函数所在的.h文件进行查询。最后在main()函数中调用LED初始化函数,并将StartLed()函数放置于while(1)循环中即可。然后通过J-Link下载程序到板卡中即可看到相应的LED闪烁现象。由于延时函数的不准确,导致LED闪烁频率不确定,下一期我会调用定时器来精准控制LED的闪烁效果。 |
|