📄 led.c
字号:
/*--------------------------------------------------------*/
/* SPECTRUM DIGITAL INC. */
/*--------------------------------------------------------*/
/* LED test for EVM320LF2407 */
/* */
/* */
/* leds DS4-DS7 */
/* */
/* filename: led._4p.c */
/* original: 03/14/1997 by: mls */
/* last update: 08/20/2005 by: lyp for 2407 */
/*--------------------------------------------------------*/
#include "led.h"
#include "lf2407regs.h"
volatile unsigned int ti_led_data;
#define MS_TIME_LOOP 0x0385
unsigned int wait_ms( volatile unsigned int delay_val ) //延时1ms程序
{
unsigned int i;
unsigned int ms_ctr;
for ( i = 0; i < delay_val; i++ )
{
ms_ctr = MS_TIME_LOOP;
while ( ms_ctr )
{
ms_ctr--;
}
}
return( delay_val );
}
void initsys() //系统初始化
{
asm(" setc SXM ");
asm(" clrc OVM ");
asm(" clrc CNF ");
*SCSR1=0x86fe; //2倍频,30MHZ
*WDCR =0x0e8;
*IMR =0x000f;
*IFR =0xffff;
//*WSGR =0x00;
}
void ti_led_on( unsigned int led_num ) //打开DS4,DS5,DS6,DS7
{
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 )//关闭DS4,DS5,DS6,DS7
{
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) //让4个led闪烁
{
unsigned int ticker, ctr;
for (ticker=0; ticker < (ctr_val+1); ticker++)
{
for (ctr=1; ctr <= 4; ctr++)
{
ti_led_on(ctr);
wait_ms( 1000 );
ti_led_off(ctr);
wait_ms( 1000 );
}
wait_ms( 1000 );
}
}
void interrupt nothing()
{return;}
main()
{
initsys();
do
{
ti_led_ctr(100);
wait_ms(1000);
}while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -