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

📄 mode.c

📁 16路RGB_LED象素灯变色函数(AVR)代码
💻 C
📖 第 1 页 / 共 5 页
字号:
                for(n=15;n>0;n--)
                {
                	RedTable[n]=RedTable[n-1];
                	GreenTable[n]=GreenTable[n-1];
                	BlueTable[n]=BlueTable[n-1];
                	if(BeginRcvFlag)break;
                }
                RedTable[0]=j[m];
                GreenTable[0]=j[m];  
                BlueTable[0]=j[m]; 
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    
}    
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////   
//慧星回追   
//-----------------------------------------------------------------------------------------------------------
void RedCometBackward(unsigned char Spd)
{
        unsigned char m,n,k; 
        unsigned char j[20]={16,10,6,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
        for(m=0;m<16;m++){RedTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){GreenTable[m]=0x00;if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){BlueTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<20;m++)
        {       
                for(n=0;n<15;n++){RedTable[n]=RedTable[n+1];if(BeginRcvFlag)break;}
                RedTable[15]=j[m];
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    
}    
//-----------------------------------------------------------------------------------------------------------
void GreenCometBackward(unsigned char Spd)
{
        unsigned char m,n,k; 
        unsigned char j[20]={16,10,6,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
        for(m=0;m<16;m++){RedTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){GreenTable[m]=0x00;if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){BlueTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<20;m++)
        {       
                for(n=0;n<15;n++){GreenTable[n]=GreenTable[n+1];if(BeginRcvFlag)break;}
                GreenTable[15]=j[m];
                for(k=0;k<Spd;k++)delay_us(10);if(BeginRcvFlag)break;
                if(BeginRcvFlag)break;
        }    
}    
//-----------------------------------------------------------------------------------------------------------
void BlueCometBackward(unsigned char Spd)
{
        unsigned char m,n,k; 
        unsigned char j[20]={16,10,6,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
        for(m=0;m<16;m++){RedTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){GreenTable[m]=0x00;if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){BlueTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<20;m++)
        {       
                for(n=0;n<15;n++){BlueTable[n]=BlueTable[n+1];if(BeginRcvFlag)break;}
                BlueTable[15]=j[m];
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    
}    
//-----------------------------------------------------------------------------------------------------------
void YellowCometBackward(unsigned char Spd)
{
        unsigned char m,n,k; 
        unsigned char j[20]={16,10,6,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
        for(m=0;m<16;m++){RedTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){GreenTable[m]=0x00;if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){BlueTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<20;m++)
        {      
                for(n=0;n<15;n++)
                {
                	RedTable[n]=RedTable[n+1];
                  GreenTable[n]=GreenTable[n+1];
                  if(BeginRcvFlag)break;
                }
                RedTable[15]=j[m];
                GreenTable[15]=j[m];
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    
}    
//-----------------------------------------------------------------------------------------------------------
void CyanCometBackward(unsigned char Spd)
{
        unsigned char m,n,k; 
        unsigned char j[20]={16,10,6,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
        for(m=0;m<16;m++){RedTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){GreenTable[m]=0x00;if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){BlueTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<20;m++)
        {       
                for(n=0;n<15;n++)
                {
                	BlueTable[n]=BlueTable[n+1];
                	GreenTable[n]=GreenTable[n+1];
                	if(BeginRcvFlag)break;	
                }
                BlueTable[15]=j[m];
                GreenTable[15]=j[m]; 
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    
}    
//-----------------------------------------------------------------------------------------------------------
void PurpleCometBackward(unsigned char Spd)
{
        unsigned char m,n,k; 
        unsigned char j[20]={16,10,6,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
        for(m=0;m<16;m++){RedTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){GreenTable[m]=0x00;if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){BlueTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<20;m++)
        {       
                for(n=0;n<15;n++)
                {
                	RedTable[n]=RedTable[n+1];
                	BlueTable[n]=BlueTable[n+1];
                	if(BeginRcvFlag)break;
                }
                RedTable[15]=j[m];
                BlueTable[15]=j[m];
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    
}    
//-----------------------------------------------------------------------------------------------------------
void WhiteCometBackward(unsigned char Spd)
{
        unsigned char m,n,k; 
        unsigned char j[20]={16,10,6,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
        for(m=0;m<16;m++){RedTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){GreenTable[m]=0x00;if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){BlueTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<20;m++)
        {       
                for(n=0;n<15;n++)
                {
                	RedTable[n]=RedTable[n-1];
                	GreenTable[n]=GreenTable[n-1];
                	BlueTable[n]=BlueTable[n-1];
                	if(BeginRcvFlag)break;
                }
                RedTable[15]=j[m];
                GreenTable[15]=j[m];
                BlueTable[15]=j[m];
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    
} 

//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//波浪前追
//---------------------------------------------------------------------------------------------
void RedWaveForwardChase(unsigned char Spd)
{
				unsigned char m,n,k; 
        unsigned char j[21]={1,3,6,10,12,16,12,10,6,3,1,3,6,10,12,16,12,10,6,3,1};
        //for(m=0;m<16;m++)RedTable[m]=0x00; 
        for(m=0;m<16;m++){GreenTable[m]=0x00;if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){BlueTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<21;m++)
        {       
                //RedTable[0]=j[m];
                for(n=15;n>0;n--)
                {
                        RedTable[n]=RedTable[n-1];if(BeginRcvFlag)break;
                }
                RedTable[0]=j[m];
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    		
}
//---------------------------------------------------------------------------------------------
void GreenWaveForwardChase(unsigned char Spd)
{
				unsigned char m,n,k; 
        unsigned char j[21]={1,3,6,10,12,16,12,10,6,3,1,3,6,10,12,16,12,10,6,3,1};
        for(m=0;m<16;m++){RedTable[m]=0x00; if(BeginRcvFlag)break;}
        //for(m=0;m<16;m++)GreenTable[m]=0x00;
        for(m=0;m<16;m++){BlueTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<21;m++)
        {       
                for(n=15;n>0;n--){GreenTable[n]=GreenTable[n-1];if(BeginRcvFlag)break;}
          			GreenTable[0]=j[m];                
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    		
}
//---------------------------------------------------------------------------------------------
void BlueWaveForwardChase(unsigned char Spd)
{
				unsigned char m,n,k; 
        unsigned char j[21]={1,3,6,10,12,16,12,10,6,3,1,3,6,10,12,16,12,10,6,3,1};
        for(m=0;m<16;m++){RedTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){GreenTable[m]=0x00;if(BeginRcvFlag)break;}
        //for(m=0;m<16;m++)BlueTable[m]=0x00; 
        for(m=0;m<21;m++)
        {       
                for(n=0;n<15;n++){BlueTable[n]=BlueTable[n+1];if(BeginRcvFlag)break;}
                BlueTable[15]=j[m]; 							      
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    		
}
 //---------------------------------------------------------------------------------------------
void YellowWaveForwardChase(unsigned char Spd)
{
				unsigned char m,n,k; 
        unsigned char j[21]={1,3,6,10,12,16,12,10,6,3,1,3,6,10,12,16,12,10,6,3,1};
        //for(m=0;m<16;m++)RedTable[m]=0x00; 
        //for(m=0;m<16;m++)GreenTable[m]=0x00;
        for(m=0;m<16;m++){BlueTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<21;m++)
        {       
               
                for(n=15;n>0;n--)
                {
                	RedTable[n]=RedTable[n-1];
                	GreenTable[n]=GreenTable[n-1];
                	if(BeginRcvFlag)break;
                }
                RedTable[0]=j[m];
                GreenTable[0]=j[m];
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    		
}   
 
 //---------------------------------------------------------------------------------------------
void CyanWaveForwardChase(unsigned char Spd)
{
				unsigned char m,n,k; 
        unsigned char j[21]={1,3,6,10,12,16,12,10,6,3,1,3,6,10,12,16,12,10,6,3,1};
        for(m=0;m<16;m++){RedTable[m]=0x00; if(BeginRcvFlag)break;}
        //for(m=0;m<16;m++)GreenTable[m]=0x00;
        for(m=0;m<16;m++){BlueTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<21;m++)
        {       
                for(n=15;n>0;n--)
                {
                	GreenTable[n]=GreenTable[n-1];
                	BlueTable[n]=BlueTable[n-1];
                	if(BeginRcvFlag)break;
                }
                GreenTable[0]=j[m];
                BlueTable[0]=j[m]; 			            
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    		
} 
//---------------------------------------------------------------------------------------------
void PurpleWaveForwardChase(unsigned char Spd)
{
				unsigned char m,n,k; 
        unsigned char j[21]={1,3,6,10,12,16,12,10,6,3,1,3,6,10,12,16,12,10,6,3,1};
        //for(m=0;m<16;m++)RedTable[m]=0x00; 
        for(m=0;m<16;m++){GreenTable[m]=0x00;if(BeginRcvFlag)break;}
        //for(m=0;m<16;m++)BlueTable[m]=0x00; 
        for(m=0;m<21;m++)
        {       
                for(n=15;n>0;n--)
                {
                	RedTable[n]=RedTable[n-1];
                	BlueTable[n]=BlueTable[n-1];
                	if(BeginRcvFlag)break;
                }
                RedTable[0]=j[m];
                BlueTable[0]=j[m]; 			    
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    		
}
//---------------------------------------------------------------------------------------------
void WhiteWaveForwardChase(unsigned char Spd)
{
				unsigned char m,n,k; 
        unsigned char j[21]={1,3,6,10,12,16,12,10,6,3,1,3,6,10,12,16,12,10,6,3,1};
        //for(m=0;m<16;m++)RedTable[m]=0x00; 
        //for(m=0;m<16;m++)GreenTable[m]=0x00;
        //for(m=0;m<16;m++)BlueTable[m]=0x00; 
        for(m=0;m<21;m++)
        {       
                for(n=15;n>0;n--)
                {
                	RedTable[n]=RedTable[n-1];
                	GreenTable[n]=GreenTable[n-1];
                	BlueTable[n]=BlueTable[n-1];
                	if(BeginRcvFlag)break;
                }
                RedTable[0]=j[m];
                BlueTable[0]=j[m]; 
                GreenTable[0]=j[m];			    
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    		
}              
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//波浪回追
//---------------------------------------------------------------------------------------------
void RedWaveBackwardChase(unsigned char Spd)
{
				unsigned char m,n,k; 
        unsigned char j[21]={1,3,6,10,12,16,12,10,6,3,1,3,6,10,12,16,12,10,6,3,1};
        for(m=0;m<16;m++){RedTable[m]=0x00; if(BeginRcvFlag)break;}
        for(m=0;m<16;m++){GreenTable[m]=0x00;if(BeginRcvFlag)break;}
        //for(m=0;m<16;m++)BlueTable[m]=0x00; 
        for(m=0;m<21;m++)
        {      
                for(n=0;n<15;n++){RedTable[n]=RedTable[n+1];if(BeginRcvFlag)break;}
                RedTable[15]=j[m];
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    		
}
//---------------------------------------------------------------------------------------------
void GreenWaveBackwardChase(unsigned char Spd)
{
				unsigned char m,n,k; 
        unsigned char j[21]={1,3,6,10,12,16,12,10,6,3,1,3,6,10,12,16,12,10,6,3,1};
        for(m=0;m<16;m++){RedTable[m]=0x00; if(BeginRcvFlag)break;}
        //for(m=0;m<16;m++)GreenTable[m]=0x00;
        for(m=0;m<16;m++){BlueTable[m]=0x00;if(BeginRcvFlag)break; }
        for(m=0;m<21;m++)
        {       
                for(n=0;n<15;n++){GreenTable[n]=GreenTable[n+1];if(BeginRcvFlag)break;}
                GreenTable[15]=j[m];
                for(k=0;k<Spd;k++){delay_us(10);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }    		
}
//---------------------------------------------------------------------------------------------
void BlueWaveBackwardChase(unsigned char Spd)
{
				unsigned char m,n,k; 

⌨️ 快捷键说明

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