TA的每日心情 | 开心 昨天 15:43 |
---|
签到天数: 55 天 [LV.5]常住居民I
中级会员
- 积分
- 344
|
楼主 |
发表于 2024-2-19 17:01:21
|
显示全部楼层
void showbar()
{
u16 i,j,f;
u8 i2,high;//,f2,f3;
for(i2=0;i2<16;i2++) //读取FFT转换数据
{
float t0=0;
t0=sqrt(pow((s[i2].real+s[i2+1].real),2)+pow((s[i2].imag+s[i2+1].imag),2))/2;
dis_rdata[i2]=(u8)t0;
}
///**************************************************************/
///*****************写入下屏,i:0~16,表示16列**************/
///***************************high:表示列的高度*********/
for (i=0;i<16;i++) //在显示下屏显存必须清0,后面有操作是或运算
{
for (j=0;j<60;j++)
{
dis_data[i][j]=0;
}
}
for(i=0;i<16;i++)
{
high=dis_rdata[i];
// high=15;
if(high<4)high=0; //判断小于2时,为0/
if(high>60)high=56; //判断高于60时,为62***/
for(j=0;j<high;j++)
{
if(i==1||i==3||i==5||i==7||i==9||i==11||i==13||i==15)
{dis_data[i][60-j]=dis_RGB[j]; //0,2,4,6,8,10,12,14倒相
}
else
{dis_data[i][j]=dis_RGB[j];
}
}
if(high>0)
{
switch(i)
{case 0:dis_data[i][high+2]=0x00ff00;dis_data[i][high+3]=0x00ff00;break;//R
case 1:dis_data[i][60-high-2]=0x0000ff;dis_data[i][60-high-3]=0x0000ff;break;//G
case 2:dis_data[i][high+2]=0xff0000;dis_data[i][high+3]=0xff0000;break;//B
case 3:dis_data[i][60-high-2]=0xffff00;dis_data[i][60-high-3]=0xffff00;break;//BR
case 4:dis_data[i][high+2]=0xff00ff;dis_data[i][high+3]=0xff00ff;break;//BG
case 5:dis_data[i][60-high-2]=0x00ffff;dis_data[i][60-high-3]=0x00ffff;break;//RG
case 6:dis_data[i][high+2]=0xffffff;dis_data[i][high+3]=0xffffff;break;//RGB
case 7:dis_data[i][60-high-2]=0x00ff00;dis_data[i][60-high-3]=0x00ff00;break;//R
case 8:dis_data[i][high+2]=0x0000ff;dis_data[i][high+3]=0x0000ff;break;//G
case 9:dis_data[i][60-high-2]=0xff0000;dis_data[i][60-high-3]=0xff0000;break;//B
case 10:dis_data[i][high+2]=0x00ff00;dis_data[i][high+3]=0x00ff00;break;//R
case 11:dis_data[i][60-high-2]=0x0000ff;dis_data[i][60-high-3]=0x0000ff;break;//G
case 12:dis_data[i][high+2]=0xff0000;dis_data[i][high+3]=0xff0000;break;//B
case 13:dis_data[i][60-high-2]=0x00ff00;dis_data[i][60-high-3]=0x00ff00;break;//R
case 14:dis_data[i][high+2]=0x0000ff;dis_data[i][high+3]=0x0000ff;break;//G
case 15:dis_data[i][60-high-2]=0xff0000;dis_data[i][60-high-3]=0x0000ff;break;//B
}
}
}
for(i=0;i<60;i++) //数据合并
{
data1=TC[i][0]<<8|TC[i][1];
for (f1=0; f1<16; f1++)
{
if (data1&0x8000) // 发送数据
{
switch(f1)
{case 0:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//R
case 1:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//G
case 2:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//B
case 3:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//BR
case 4:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//BG
case 5:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//RG
case 6:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//RGB
case 7:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//R
case 8:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//G
case 9:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//B
case 10:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//R
case 11:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//G
case 12:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//B
case 13:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//R
case 14:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//G
case 15:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//B
}
}
data1=data1<<1;
}
//
//
}
for(i=0;i<60;i++) //数据合并
{
for(f3=0;f3<2;f3++)
{
data1=TC[f3][i];
for (f1=0; f1<8; f1++)
{
f2=f3*8+f1;
if (data1&0x80) // 发送数据
{
if(f1==0||f1==2||f1==4||f1==6)
{
dis_data[f2][60-i]=dis_data[f2][60-i]|0x0000ff; //0,2,4,6倒相
}
else
{dis_data[f2][i-1]=dis_data[f2][i-1]|0x00ff00; //1,3,5,7
}
}
data1=data1<<1;
}
}
}
for(f=0;f<16;f++) //数据转存
{
for(i=0;i<60;i++)
{
DisP_Color( dis_data[f][i]);
}
}
delay_ms(100);
reset();
} |
|