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

📄 mode.c

📁 16路RGB_LED象素灯变色函数(AVR)代码
💻 C
📖 第 1 页 / 共 5 页
字号:
                if(BeginRcvFlag)break;
                
        }
        
        for(m=15;m>0;m--)
        {       
                for(k=0;k<Spd;k++)
                {
                        for(n=0;n<16;n++)
                        {
                                GreenTable[n]=m;
                                if(BeginRcvFlag)break;
                        }
                        if(BeginRcvFlag)break; 
                }
                if(BeginRcvFlag)break;
        }          
}   
//-----------------------------------------------------------------------------------------------
//蓝渐变
void BlueSynchSmooth(unsigned char Spd)
{
        unsigned char m,n,k; 
        Clr();
        for(m=0;m<16;m++)
        {          
                for(k=0;k<Spd;k++)
                {
                        for(n=0;n<16;n++)
                        {
                                BlueTable[n]=m;
                                if(BeginRcvFlag)break;
                        } 
                        if(BeginRcvFlag)break; 
                }
                if(BeginRcvFlag)break;
                
        }
        
        for(m=15;m>0;m--)
        {       
                for(k=0;k<Spd;k++)
                {
                        for(n=0;n<16;n++)
                        {
                                BlueTable[n]=m;
                                if(BeginRcvFlag)break;
                        } 
                        if(BeginRcvFlag)break;
                }
                if(BeginRcvFlag)break;
        }          
}            
//-----------------------------------------------------------------------------------------------
//黄渐变
void YellowSynchSmooth(unsigned char Spd)
{
         unsigned char m,n,k; 
        Clr();
        for(m=0;m<16;m++)
        {          
                for(k=0;k<Spd;k++)
                {
                        for(n=0;n<16;n++)
                        {
                                RedTable[n]=m;
                                GreenTable[n]=m;
                                if(BeginRcvFlag)break;
                        }  
                        if(BeginRcvFlag)break;
                }
                if(BeginRcvFlag)break;
                
        }
        
        for(m=15;m>0;m--)
        {       
                for(k=0;k<Spd;k++)
                {
                        for(n=0;n<16;n++)
                        {
                                RedTable[n]=m;
                                GreenTable[n]=m;
                                if(BeginRcvFlag)break;
                        } 
                        if(BeginRcvFlag)break;
                }
                if(BeginRcvFlag)break;
        }          
}   
//-----------------------------------------------------------------------------------------------
//青渐变
void CyanSynchSmooth(unsigned char Spd)
{
        unsigned char m,n,k; 
        Clr();
        for(m=0;m<16;m++)
        {          
                for(k=0;k<Spd;k++)
                {
                        for(n=0;n<16;n++)
                        {
                                BlueTable[n]=m;
                                GreenTable[n]=m;
                                if(BeginRcvFlag)break;
                        } 
                        if(BeginRcvFlag)break; 
                }
                if(BeginRcvFlag)break;
                
        }
        
        for(m=15;m>0;m--)
        {       
                for(k=0;k<Spd;k++)
                {
                        for(n=0;n<16;n++)
                        {
                                BlueTable[n]=m;
                                GreenTable[n]=m;
                                if(BeginRcvFlag)break;
                        } 
                        if(BeginRcvFlag)break;
                }
                if(BeginRcvFlag)break;
        }          
}    
//-----------------------------------------------------------------------------------------------
//紫渐变
void PurpleSynchSmooth(unsigned char Spd)
{
        unsigned char m,n,k; 
        Clr();
        for(m=0;m<16;m++)
        {          
                for(k=0;k<Spd;k++)
                {
                        for(n=0;n<16;n++)
                        {
                                BlueTable[n]=m;
                                RedTable[n]=m;
                                if(BeginRcvFlag)break;
                        }
                        if(BeginRcvFlag)break;
                }
                if(BeginRcvFlag)break;
        }
        
        for(m=16;m>0;m--)
        {       
                for(k=0;k<Spd;k++)
                {
                        for(n=0;n<16;n++)
                        {
                                BlueTable[n]=m;
                                RedTable[n]=m;
                                if(BeginRcvFlag)break;
                        } 
                        if(BeginRcvFlag)break;
                }
                if(BeginRcvFlag)break;
        }          
}   
//-----------------------------------------------------------------------------------------------
//白渐变
void WhiteSynchSmooth(unsigned char Spd)
{
         unsigned char m,n,k; 
        Clr();
        for(m=0;m<16;m++)
        {          
                for(k=0;k<Spd;k++)
                {
                        for(n=0;n<16;n++)
                        {
                                BlueTable[n]=m;
                                RedTable[n]=m;
                                GreenTable[n]=m;
                                if(BeginRcvFlag)break;
                        }
                        if(BeginRcvFlag)break;
                }
                if(BeginRcvFlag)break;
        }
        
        for(m=16;m>0;m--)
        {       
                for(k=0;k<Spd;k++)
                {
                        for(n=0;n<16;n++)
                        {
                                BlueTable[n]=m;
                                RedTable[n]=m;
                                GreenTable[n]=m;
                                if(BeginRcvFlag)break;
                        } 
                        if(BeginRcvFlag)break;
                }
                if(BeginRcvFlag)break;
        }          
}  
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//渐暗渐明前追
//----------------------------------------------------------------------------------------------
void RedDimToBrightForwardChase(unsigned char Spd)
{
        unsigned char m,n,k;
        
        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<16*4;m++)
        {
                if(RedTable[0]<16)RedTable[0]++;
                for(n=0;n<15;n++)
                {
                        if((RedTable[n]>3)&(RedTable[n+1]<16))RedTable[n+1]++;
                        if(BeginRcvFlag)break;	
                }
                for(k=0;k<Spd;k++){delay_us(5);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }
}
//----------------------------------------------------------------------------------------------
void GreenDimToBrightForwardChase(unsigned char Spd)
{
        unsigned char m,n,k;
        
        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<16*4;m++)
        {
                if(GreenTable[0]<16)GreenTable[0]++;  
                for(n=0;n<15;n++)
                {
                     if((GreenTable[n]>3)&(GreenTable[n+1]<16))GreenTable[n+1]++;  
                     if(BeginRcvFlag)break; 
                } 
                for(k=0;k<Spd;k++){delay_us(5);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }
}
//----------------------------------------------------------------------------------------------
void BlueDimToBrightForwardChase(unsigned char Spd)
{
        unsigned char m,n,k;
        
        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<16*4;m++)
        {
                if(BlueTable[0]<16)BlueTable[0]++;   
                for(n=0;n<15;n++)
                {
                    if((BlueTable[n]>3)&(BlueTable[n+1]<16))BlueTable[n+1]++; 
                    if(BeginRcvFlag)break;   
                }
                for(k=0;k<Spd;k++)delay_us(5);
                if(BeginRcvFlag)break;
        }
} 
//----------------------------------------------------------------------------------------------
void YellowDimToBrightForwardChase(unsigned char Spd)
{
        unsigned char m,n,k;
        
        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<16*4;m++)
        {
                if(GreenTable[0]<16)
                {
                        RedTable[0]++;
                        GreenTable[0]++;
                } 
                for(n=0;n<15;n++)
                {
                    if((GreenTable[n]>3)&(GreenTable[n+1]<16)) 
                    {
                         RedTable[n+1]++;
                        GreenTable[n+1]++; 
                    }
                    if(BeginRcvFlag)break;   
                }
                for(k=0;k<Spd;k++){delay_us(5);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;	
        }
}                               
//----------------------------------------------------------------------------------------------
void CyanDimToBrightForwardChase(unsigned char Spd)
{
        unsigned char m,n,k;
        
        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<16*4;m++)
        {
                if(BlueTable[0]<16)
                {                      
                        GreenTable[0]++;
                        BlueTable[0]++;
                }
                for(n=0;n<15;n++)
                {               
                       if((BlueTable[n]>3)&(BlueTable[n+1]<16))
                       {
                        GreenTable[n+1]++;
                        BlueTable[n+1]++;
                        }
                        if(BeginRcvFlag)break;                  
                }
                for(k=0;k<Spd;k++){delay_us(5);if(BeginRcvFlag)break;}
                if(BeginRcvFlag)break;
        }
}    
//---------------------------------------------------------------------------------------------
void PurpleDimToBrightForwardChase(unsigned char Spd)
{
        unsigned char m,n,k;
        
        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<16*4;m++)
        {
                if(BlueTable[0]<16)
                {                      
                        RedTable[0]++;
                        BlueTable[0]++;
                } 
                for(n=0;n<15;n++)
                {
                    if((BlueTable[n]>3)&(BlueTable[n+1]<16))
                        {
                        RedTable[n+1]++;

⌨️ 快捷键说明

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