⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 io_output_8led.c

📁 利用DSP I/O口点亮8个LED的程序
💻 C
字号:
//测试功能:TMS320LF2407 EVM上LED DS1、DS2依次亮灭(间隔1秒)

#include  "ioreg.h"

unsigned int wait_ms( volatile unsigned int delay_val );

initial()
{
     asm(" setc SXM");
     asm(" clrc OVM");
     asm(" clrc CNF");
     asm(" setc INTM");
     SCSR1=0x81FE;
     WDCR=0x00E8;
     
     IMR=0x0000;
     IFR=0xFFFF;
     MCRB=MCRB&0xFF00;     
     PCDATDIR=PCDATDIR|0x0FF00;
     PCDATDIR=PCDATDIR&0x0FF00;
 
}

main()
{
     int led;
     int i;
     initial();
     while(1)
     {
     	for(led=0x0001,i=0;i<2;led=led<<1,i++)
     	{
     	    PCDATDIR=PCDATDIR&0x0FF00;
     	    PCDATDIR=PCDATDIR|led;
   
     	    wait_ms(1000);            
     	    
     	}
     }
}



/* #define MS_TIME_LOOP  */
#define MS_TIME_LOOP   0x500

unsigned int wait_ms( volatile unsigned int delay_val )
{
    unsigned int i;
/*    unsigned int ms_ctr;  */
    int ms_ctr;
    
    for ( i = 0; i < delay_val; i++ )
    {
	   ms_ctr = MS_TIME_LOOP;

	   while ( ms_ctr )
	   {
	         ms_ctr--;
	   }
    }

    return( delay_val );
}



void interrupt nothing()
{
	return;
}
    

⌨️ 快捷键说明

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