📄 radiomodulegui.c
字号:
#if(TFT_Drive==eR61505)
TFT_Scan_Dir(7);
#elif(TFT_Drive==ILI9320)
TFT_Scan_Dir(7);
#endif
Pre_FM_ST_F = 0xff;
PreFreq = 0xffff;
PreFreqOffset = 0xff;
Pre_RSSI_Val = 0xff;
Pre_SNR_Val = 0xff;
Pre_RMVolume = 99;
Pre_MuteMode = 0xff;
Pre_Second = 99;
Pre_Minute = 99;
Pre_Hour = 99;
Pre_Week = 9;
for(i=0;i<15;i++)
{
if((i&0x01)==0)
RM_DrawColorWindow(List_1_Color,0,i*16,320,16);
else
RM_DrawColorWindow(List_2_Color,0,i*16,320,16);
}
if(AM_FM_Receive_SEL == FM_Receive)
{
Lcd_disp_title(0,Title_Fr_Color,Title_Bk_Color,"FM Station Infomation");
Lcd_disp_channel_Info(0);
Lcd_disp_volume_Info(0,0);
Lcd_disp_freq(FM_Band_Bottom,0);
Lcd_disp_stereo_flag(Mono_F);
Lcd_disp_Region_flag();
Lcd_disp_Receiver_Setup_Info();
Lcd_disp_RSSI_SNR_Info(0,0);
Lcd_disp_title(128,Title_Fr_Color,Title_Bk_Color,"Debug Infomation");
RM_DrawColorWindow(List_2_Color,0,144,320,16);
RM_DrawColorWindow(List_1_Color,0,160,320,16);
RM_DrawColorWindow(List_2_Color,0,176,320,16);
RM_DrawColorWindow(List_1_Color,0,192,320,16);
RM_DrawColorWindow(List_2_Color,0,208,320,16);
RM_DrawColorWindow(List_1_Color,0,224,320,16);
Lcd_disp_RDS_Flag(FM_RDS_VAL_F);
}
else
{
Lcd_disp_title(0,Title_Fr_Color,Title_Bk_Color,"AM Station Infomation");
Lcd_disp_channel_Info(0);
Lcd_disp_volume_Info(0,0);
Lcd_disp_freq(AM_Band_Bottom,0);
Lcd_disp_Region_flag();
Lcd_disp_Receiver_Setup_Info();
Lcd_disp_RSSI_SNR_Info(0,0);
Lcd_disp_title(112,Title_Fr_Color,Title_Bk_Color,"Debug Infomation");
}
Lcd_disp_sys_time();
}
void RM_DrawColorWindow(RM_U16 Color,RM_U16 Xstart,RM_U16 Ystart,RM_U16 Xsize,RM_U16 Ysize)
{
#if(TFT_Drive==eR61505)
DrawColorWindow(Color,Ystart,Xstart,Ysize,Xsize);
#elif(TFT_Drive==ILI9320)
DrawColorWindow(Color,Ystart,Xstart,Ysize,Xsize);
#else
DrawColorWindow(Color,Xstart,Ystart,Xsize,Ysize);
#endif
}
void RM_Point(unsigned short x,unsigned short y,unsigned short color)
{
#if(TFT_Drive==eR61505)
Point(y,x,color);
#elif(TFT_Drive==ILI9320)
Point(y,x,color);
#else
Point(x,y,color);
#endif
}
void Lcd_putch(RM_U16 Xstart, //字符的左上角的坐标
RM_U16 Ystart, //字符的左上角的坐标
RM_U16 Xsize, //字库的定宽
RM_U16 Ysize, //字库的定高
RM_U16 Fr_Color, //前景色
RM_U16 Bk_Color, //背景色
RM_U8 CharAscII, //字符的ASCII码,有效区域0x00-0xff
RM_U8 Reverse, //字符反向显示属性,当反向显示属性有效时,将忽略字符的背景透明属性
RM_U8 Transparent)//设置字符的背景透明属性
{
RM_U32 i,j;
RM_U8 Temp;
#if(TFT_Drive==eR61505)
LcdSetWindow(Ystart,Xstart,Ysize-1+Ystart,Xsize-1+Xstart);
#elif(TFT_Drive==ILI9320)
LcdSetWindow(Ystart,Xstart,Ysize-1+Ystart,Xsize-1+Xstart);
#else
LcdSetWindow(Xstart,Ystart,Xsize-1+Xstart,Ysize-1+Ystart);
#endif
#if(TFT_Drive==eR61505)
SendTFTCommand(0x20,Ystart); //SRAM_Position_X
SendTFTCommand(0x21,Xstart+4); //SRAM_Position_Y
Wr_CpuTFT_Cmd(0x0022);
for(i=0;i<Ysize;i++){
Temp = Char_0612[CharAscII][i];
if(Reverse==True)
Temp = ~Temp;
for(j=0;j<Xsize;j++){
if((Temp & (1<<(7-j)))!=0)
{
Wr_CpuTFT_Word(Fr_Color);
}
else
{
if((Reverse == False) && (Transparent == True))
{
Nouse = Rd_CpuTFT_Ind();
}
else
Wr_CpuTFT_Word(Bk_Color);
}
}
}
#elif(TFT_Drive==ILI9320)
for(i=0;i<Ysize;i++){
Temp = Char_0612[CharAscII][i];
if(Reverse==True)
Temp = ~Temp;
for(j=0;j<Xsize;j++){
if((Temp & (1<<(7-j)))!=0)
{
SendTFTCommand(0x20,Ystart + i); //SRAM_Position_X
SendTFTCommand(0x21,Xstart + j); //SRAM_Position_Y
SendTFTCommand(0x22,Fr_Color);
}
else
{
if((Reverse == True) || (Transparent == False))
{
SendTFTCommand(0x20,Ystart + i); //SRAM_Position_X
SendTFTCommand(0x21,Xstart + j); //SRAM_Position_Y
SendTFTCommand(0x22,Bk_Color);
}
}
}
}
#elif(TFT_Drive==SSD1289)
#elif(TFT_Drive==S6E63D6)
SendTFTCommand(0x20,Xstart); //SRAM_Position_X
SendTFTCommand(0x21,Ystart); //SRAM_Position_Y
Wr_CpuTFT_Cmd(0x0023);
Wr_CpuTFT_Cmd(0x0022);
for(i=0;i<Ysize;i++){
Temp = Char_0612[CharAscII][i];
if(Reverse==True)
Temp = ~Temp;
for(j=0;j<Xsize;j++){
if((Temp & (1<<(7-j)))!=0)
{
Wr_CpuTFT_Word(Fr_Color);
}
else
{
if((Reverse == False) && (Transparent == True))
Nouse = Rd_CpuTFT_Ind();
else
Wr_CpuTFT_Word(Bk_Color);
}
}
}
#elif(TFT_Drive==LGDP4531)
SendTFTCommand(0x20,Xstart); //SRAM_Position_X
SendTFTCommand(0x21,Ystart); //SRAM_Position_Y
Wr_CpuTFT_Cmd(0x0022);
for(i=0;i<Ysize;i++){
Temp = Char_0612[CharAscII][i];
if(Reverse==True)
Temp = ~Temp;
for(j=0;j<Xsize;j++){
if((Temp & (1<<(7-j)))!=0)
{
Wr_CpuTFT_Word(Fr_Color);
}
else
{
if((Reverse == False) && (Transparent == True))
Nouse = Rd_CpuTFT_Ind();
else
Wr_CpuTFT_Word(Bk_Color);
}
}
}
#endif
}
void Lcd_put_Freq_Char(RM_U16 Xstart,RM_U16 Ystart,RM_U16 Fr_Color,RM_U16 Bk_Color,RM_S8 Num,RM_U8 EnPoint)
{
RM_U32 i,j;
RM_U8 Temp;
//DrawColorWindow(Bk_Color,Xstart,Ystart,Xsize,Ysize);
#if(UseMV3DSP==True)
Switch_MV3_To_Lcd();
#endif
LcdSetWindow(Xstart,Ystart,15+Xstart,23+Ystart);
#if(TFT_Drive==eR61505)
LcdSetWindow(Ystart,Xstart,23+Ystart,15+Xstart);
#elif(TFT_Drive==ILI9320)
LcdSetWindow(Ystart,Xstart,23+Ystart,15+Xstart);
#else
LcdSetWindow(Xstart,Ystart,15+Xstart,23+Ystart);
#endif
#if(TFT_Drive==eR61505)
SendTFTCommand(0x20,Ystart); //SRAM_Position_X
SendTFTCommand(0x21,Xstart); //SRAM_Position_Y
Wr_CpuTFT_Cmd(0x0022);
for(i=0;i<24;i++){
for(j=0;j<16;j++){
if(j<8)
{
Temp = Char_1624[Num][i*2];
}
else
{
Temp = Char_1624[Num][i*2+1];
if((i>21) && (EnPoint != 0))
Temp |= 0x03;
}
if((Temp & (1<<(7-(j%8))))!=0)
{
Wr_CpuTFT_Word(Fr_Color);
}
else
{
Wr_CpuTFT_Word(Bk_Color);
}
}
}
#elif(TFT_Drive==ILI9320)
SendTFTCommand(0x20,Ystart); //SRAM_Position_X
SendTFTCommand(0x21,Xstart); //SRAM_Position_Y
Wr_CpuTFT_Cmd(0x0022);
for(i=0;i<24;i++){
for(j=0;j<16;j++){
if(j<8)
{
Temp = Char_1624[Num][i*2];
}
else
{
Temp = Char_1624[Num][i*2+1];
if((i>21) && (EnPoint != 0))
Temp |= 0x03;
}
if((Temp & (1<<(7-(j%8))))!=0)
{
Wr_CpuTFT_Word(Fr_Color);
}
else
{
Wr_CpuTFT_Word(Bk_Color);
}
}
}
#elif(TFT_Drive==SSD1289)
#elif(TFT_Drive==S6E63D6)
SendTFTCommand(0x20,Xstart); //SRAM_Position_X
SendTFTCommand(0x21,Ystart); //SRAM_Position_Y
Wr_CpuTFT_Cmd(0x0023);
Wr_CpuTFT_Cmd(0x0022);
for(i=0;i<24;i++){
for(j=0;j<16;j++){
if(j<8)
{
Temp = Char_1624[Num][i*2];
}
else
{
Temp = Char_1624[Num][i*2+1];
if((i>21) && (EnPoint != 0))
Temp |= 0x03;
}
if((Temp & (1<<(7-(j%8))))!=0)
{
Wr_CpuTFT_Word(Fr_Color);
}
else
{
Wr_CpuTFT_Word(Bk_Color);
}
}
}
#elif(TFT_Drive==LGDP4531)
SendTFTCommand(0x20,Xstart); //SRAM_Position_X
SendTFTCommand(0x21,Ystart); //SRAM_Position_Y
Wr_CpuTFT_Cmd(0x0022);
for(i=0;i<24;i++){
for(j=0;j<16;j++){
if(j<8)
{
Temp = Char_1624[Num][i*2];
}
else
{
Temp = Char_1624[Num0][i*2+1];
if((i>21) && (EnPoint != 0))
Temp |= 0x03;
}
if((Temp & (1<<(7-(j%8))))!=0)
{
Wr_CpuTFT_Word(Fr_Color);
}
else
{
Wr_CpuTFT_Word(Bk_Color);
}
}
}
#endif
}
void Draw_RDS_Info_BK(void)
{
RM_DrawColorWindow(List_1_Color,0,96,320,16);
RM_DrawColorWindow(List_2_Color,0,112,320,16);
RM_DrawColorWindow(List_1_Color,0,128,320,16);
RM_DrawColorWindow(List_2_Color,0,144,320,16);
RM_DrawColorWindow(List_1_Color,0,160,320,16);
RM_DrawColorWindow(List_2_Color,0,176,320,16);
RM_DrawColorWindow(List_1_Color,0,192,320,16);
RM_DrawColorWindow(List_2_Color,0,208,320,16);
RM_DrawColorWindow(List_1_Color,0,224,320,16);
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -