led_4p.c

来自「本测试程序是针对TMS320LF2407 EVM的性能测试而设计开发的。程序运行」· C语言 代码 · 共 107 行

C
107
字号


/*--------------------------------------------------------*/
/*  WQ21ST SOFTWARE	STUDIO.			                  	  */
/*--------------------------------------------------------*/
/* LED test for EVM320LF2407				              */
/*							                              */
/*							                              */
/* leds DS4-DS7 					                      */
/*							                              */
/* filename:	led._4p.c				                  */
/* original:	08/14/2001   by: WQ 			          */
/* last update: 08/28/2001   by: WQ					      */
/*--------------------------------------------------------*/


#include "led_4p.h"
#include "prot2407.h"


volatile unsigned int ti_led_data;

void ti_led_on( unsigned int led_num )
{
  unsigned int pattern;

  pattern = 0x0001;

  while (--led_num)
  {
    pattern <<= 1;        /* move bit over */
  }
  ti_led_data |= pattern;

  OUTMAC( _TI_LED, ti_led_data);     /* turn on the led */
}


void ti_led_off( unsigned int led_num )
{
  unsigned int pattern;

  pattern = 0x0001;

  while (--led_num)
  {
    pattern <<= 1;        /* move bit over */
  }
  ti_led_data &= (~pattern);

  OUTMAC( _TI_LED, ti_led_data);     /* turn off the led */

}


void ti_led_ctr (unsigned int ctr_val)
{
  unsigned int ticker, ctr;

  for (ticker=0; ticker < (ctr_val+1); ticker++)
  {
    for (ctr=1; ctr <= 4; ctr++)
    {
      ti_led_on(ctr);
      wait_ms( 250 );
      ti_led_off(ctr);
      wait_ms( 250 );
    }

    wait_ms( 250 );
  }
}


void ti_led_blink(unsigned int ti_blink_val)
{
  unsigned int ctr;

  while (ti_blink_val--)
  {
    for (ctr=1; ctr <= 4; ctr++)      /* turn all leds on */
    {
      ti_led_on(ctr);
    }

    wait_ms( 250 );

    for (ctr=1; ctr <= 4; ctr++)      /* turn all leds off */
    {
      ti_led_off(ctr);
    }
    wait_ms( 250 );
  }
}


unsigned int ti_led_test(void)
{
  unsigned int led_err;
   
  led_err = 0;                         /* show no error */
  ti_led_blink((unsigned int) 5);      /* 5 on & off */
  ti_led_ctr((unsigned int) 2);        /* 1-8 twice */

  return(led_err);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?