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

📄 radiomodulegui.c

📁 SI47**系列DSP的收音芯片驱动C源代码
💻 C
📖 第 1 页 / 共 3 页
字号:
		#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 + -