查看: 2125|回复: 0

【ADI EVAL-ADuCM360QSPZ开发套件】使用教程(二)---学习gpio例程

[复制链接]
  • TA的每日心情
    奋斗
    2020-5-27 15:41
  • 签到天数: 868 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2015-3-23 09:57:30 | 显示全部楼层 |阅读模式
    分享到:
    一、学习gpio例程
    ADI EVAL-ADuCM360QSPZ开发套件DVD光盘里带有10多个例程。通过例程可以快速上手,便于开发。
    1.打开KEIL。


    2.打开C:\ADuCMxxxV1.3\code\ADuCM360\examples\Blink下的Blink.uvprojx工程。可以看到keil的标题栏里的显示打开的工程路径。

    从上图可以看到本例程使用了5个库文件,在文件的开头都有详细的注释。
    应用文件代码如下
    #include <stdio.h>#include <string.h>#include <ADuCM360.h>#include <..\common\ClkLib.h>#include <..\common\IntLib.h>#include <..\common\DioLib.h>#include <..\common\WdtLib.h>#include <..\common\DioLib.h>void delay(long int);int main (void){   WdtCfg(T3CON_PRE_DIV1,T3CON_IRQ_EN,T3CON_PD_DIS);  // Disable Watchdog timer resets   DioOen(pADI_GP1,0x8);                              // Set P1.3 as an output to toggle the LED   //Disable clock to unused peripherals   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);            // Select CD0 for CPU clock - 16Mhz clock   while (1)   {      DioTgl(pADI_GP1,0x8);   // Toggle P1.3      delay(0x60000);      // Delay routine   }}// Simple Delay routinevoid delay (long int length){   while (length >0)      length--;}void WakeUp_Int_Handler(void){  }void Ext_Int2_Handler (){           }void Ext_Int4_Handler (){          }void GP_Tmr0_Int_Handler(void){}void GP_Tmr1_Int_Handler(void){ }void ADC0_Int_Handler(){   }void ADC1_Int_Handler (){}void SINC2_Int_Handler(){ }void UART_Int_Handler (){} void I2C0_Slave_Int_Handler(void) {}void PWMTRIP_Int_Handler (){            }void PWM0_Int_Handler(){}void PWM1_Int_Handler (){ }void PWM2_Int_Handler(){  }在main函数中,通过1.失能看门狗定时器2.设置gpio引脚功能3.失能不用的外设4.设置系统时钟 简单的几步, 然后在循环体内加入翻转gpio端状态函数和一个延时函数,就实现了开发板led灯闪烁。
    看门狗定时器在系统复位后默认为使能。如果不用,需要在代码的前面先失能它。
    led的连接原理图如下:

    gpio引脚功能的设置可以通过查看DioLib.c的编写,也可以使用套件提供的函数代码生成器生成。使用工具更方便直观,而且不容易出错。
    双击C:\ADuCMxxxV1.3\Software Tools\Elves下的Elves.exe

    可以把使用的的库如上图一样全部添加,然后在第一个下拉列表框选择需要的。

    选择参数栏可以根据上面的source里的详细说明选择适合的,没有下拉列表的直接根据说明填上,然后复制代码到程序中。
    DioOen(pADI_GP1,0x8);
    同上,把所有外设时钟失能,这个选项只能使用逻辑或把不需要的外设选上。
    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管脚的状态不断变化就实现了闪烁。
    同样使用工具,拷贝代码DioTgl(pADI_GP1,0x8);

    只需几步,就能实现gpio的使用,傻瓜式的工具,的确是开发项目的好帮手。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-19 07:10 , Processed in 0.131967 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.