1575|0

6802

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

TMS320F28035的LED驱动程序 [复制链接]

/************************************
    标题:LEDs.h
    软件平台:CCS v5.2

*************************************/  
#ifndef LEDS_H_  
#define LEDS_H_  

#include "PeripheralHeaderIncludes.h"  

#define no_config_leds_by_funtion  

#define LED0 0x00000200  
#define LED1 0x00020000  
#define LED2 0x00040000  
#define LED3 0x02000000  

#define LEDA_on(LED_num)           GpioDataRegs.GPACLEAR.all = LED_num  
#define LEDA_off(LED_num)          GpioDataRegs.GPASET.all = LED_num  
#define LEDA_toggle(LED_num)       GpioDataRegs.GPATOGGLE.all = LED_num  

#define LEDB_on(LED_num)           GpioDataRegs.GPBCLEAR.all = LED_num  
#define LEDB_off(LED_num)          GpioDataRegs.GPBSET.all = LED_num  
#define LEDB_toggle(LED_num)       GpioDataRegs.GPBTOGGLE.all = LED_num  

#ifdef config_leds_by_funtion  
enum LED_action {on, off, toggle};  
void LEDs(Uint32 LED_num, enum LED_action action);  
#endif  

void LEDs_init();  

#endif /* LEDS_H_ */  

[cpp] view plain copy
/************************************
    标题:LEDs.c
    软件平台:CCS v5.2
    硬件平台:毕设控制板
***************/  
#include "LEDs.h"  

void LEDs_init()  
{  
    EALLOW;  
    //使能上拉电阻  
    GpioCtrlRegs.GPBPUD.bit.GPIO41 = 1;  
    GpioCtrlRegs.GPAPUD.bit.GPIO25 = 1;  
    GpioCtrlRegs.GPAPUD.bit.GPIO18 = 1;  
    GpioCtrlRegs.GPAPUD.bit.GPIO17 = 1;  

    //选择GPIO功能  
    GpioCtrlRegs.GPBMUX1.bit.GPIO41 = 0x0;  
    GpioCtrlRegs.GPAMUX2.bit.GPIO25 = 0x0;  
    GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 0x0;  
    GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 0x0;  

    //方向  
    GpioCtrlRegs.GPBDIR.bit.GPIO41 = 1;  
    GpioCtrlRegs.GPADIR.bit.GPIO25 = 1;  
    GpioCtrlRegs.GPADIR.bit.GPIO17 = 1;  
    GpioCtrlRegs.GPADIR.bit.GPIO18 = 1;  

    EDIS;  
    LEDB_off(LED0);  
    LEDA_off(LED1|LED2|LED3);  
}  

#ifdef config_leds_by_funtion  
void LEDs(Uint32 LED_num, enum LED_action action)  
{  
    if(LED_num !=  )  
    {  
        switch (action)  
        {  
            case on:{  
                GpioDataRegs.GPBCLEAR.all = LED_num;  
                break;  
            }  

            case off:{  
                GpioDataRegs.GPBSET.all = LED_num;  
                break;  
            }  

            case toggle:{  
                GpioDataRegs.GPBTOGGLE.all = LED_num;  
                break;  
            }  
        }  
    }  
    else  
    {  
        switch (action)  
        {  
            case on:{  
                GpioDataRegs.GPACLEAR.all = LED_num;  
                break;  
            }  

            case off:{  
                GpioDataRegs.GPASET.all = LED_num;  
                break;  
            }  

            case toggle:{  
                GpioDataRegs.GPATOGGLE.all = LED_num;  
                break;  
            }  
        }  
    }  
}  
#endif  

 
点赞 关注

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表