1593|0

3836

帖子

19

TA的资源

纯净的硅(中级)

楼主
 

DSP 的GPIO编程 [复制链接]

直接领略流水灯的乐趣吧!

/******************************************************************************/
/*  Copyright 2004 by SEED Electronic Technology LTD.                         */
/*  All rights reserved. SEED Electronic Technology LTD.                      */
/*  Restricted rights to use, duplicate or disclose this code are             */
/*  granted through contract.                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
 
 
 
#include <csl.h>
#include <csl_pll.h>
#include <csl_chip.h>
#include <csl_gpio.h>
 
 
 
#include <stdio.h>
 
void delay();

/*锁相环的设置*/
PLL_Config  myConfig      = {
  0,    //IAI: the PLL locks using the same process that was underway
                //before the idle mode was entered
  1,    //IOB: If the PLL indicates a break in the phase lock,
                //it switches to its bypass mode and restarts the PLL phase-locking                //sequence
  24,    //PLL multiply value; multiply 24 times
  1             //Divide by 2 PLL divide value; it can be either PLL divide value
                //(when PLL is enabled), or Bypass-mode divide value
                //(PLL in bypass mode, if PLL multiply value is set to 1)
};
 
 
 
void UserGpio(void)
{
    int val;
    
    /* Enable a pin as GPIO pin */
    GPIO_pinEnable (GPIO_PIN1);
    
    /* Write a value to a GPIO pin */
    GPIO_pinWrite(GPIO_PIN1, 2);
    
    /* Reads the value in a general purpose input pin */
    val = GPIO_pinRead(GPIO_PIN1);
    printf("Read GPIO_GPIO_PIN1 value = %d\n", val);
    //printf("GPIO register address %d\n", GPIO_ADDR(val));
    
    /* reads IOO and IO7 pin values */
    val=GPIO_pinRead (GPIO_PIN0| GPIO_PIN1);
 
    /* DiEnable a GPIO */
    GPIO_pinDisable (GPIO_PIN1);
    
    /* Writes value to non-parallel registers using GPIO_config */
    //GPIO_config( myConfig);
    
    
    
}
 
 
 
main()
{
    int i = 10;
    
    /*初始化CSL库*/    
    CSL_init();
    
    /*设置系统的运行速度为144MHz*/
    PLL_config(&myConfig);
    /*确定方向为输出*/
    GPIO_RSET(IODIR,0xFF);
    
    for(i = 0;i<0x0a;i++)
    {
         /*全亮*/
        GPIO_RSET(IODATA,0xff);
        delay();
           /*全灭*/
           GPIO_RSET(IODATA,0x0);
           delay();
    }
    /*循环闪烁*/   
       for(i = 10; i >= 0; i--)
       {
           GPIO_RSET(IODATA,0x1);
           delay();
        delay();
           GPIO_RSET(IODATA,0x2);
           delay();
        delay();
           GPIO_RSET(IODATA,0x4);
           delay();
        delay();
           GPIO_RSET(IODATA,0x8);
           delay();
        delay();
           GPIO_RSET(IODATA,0x10);
           delay();
        delay();
           GPIO_RSET(IODATA,0x40);
           delay();
        delay();
           GPIO_RSET(IODATA,0x80);
           delay();
           delay();    
       }
       
       UserGpio();              
}
 
// 延时函数
void delay()
{
    Uint32 j = 0,k = 0;
    for(j = 0;j<0x0c;j++)
    {
        for(k= 0;k<0xffff;k++)
        {}
    }
}

点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表