关于DSPTMS320F28035的LED驱动程序

[复制链接]
703|0
手机看帖
扫描二维码
随时随地手机跟帖
Clovee|  楼主 | 2017-10-14 13:31 | 显示全部楼层 |阅读模式
关于DSPTMS320F28035的LED驱动程序



  • /************************************
  •     标题:LEDs.h
  •     软件平台:DSP.com/forum.php?mod=forumdisplay&fid=58" target="_blank" class="relatedlink">CCS v5.2
  •     硬件平台:毕设控制板
  •     主频:60M

  •     author:小船
  •     data:2013-02-23
  • *************************************/
  • #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_ */

  • /************************************
  •     标题:LEDs.c
  •     软件平台:CCS v5.2
  •     硬件平台:毕设控制板
  •     主频:60M

  •     author:小船
  •     data:2013-02-23
  • *************************************/
  • #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

[color=rgb(51, 102, 153) !important]复制代码

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

708

主题

1032

帖子

2

粉丝