844 lines
21 KiB
C
Raw Normal View History

2021-07-28 13:15:22 +08:00
#include "GBK_LibDrive.h"
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//********************************************************************************
//////////////////////////////////////////////////////////////////////////////////
void GBK_Lib_Init(void)
{
#if Used_FontIO
// GPIO_InitTypeDef GPIO_InitStructure;
//
// RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOC|RCC_AHB1Periph_GPIOF, ENABLE);//ʹ<><CAB9>GPIOB,C,Fʱ<46><CAB1>
// //PB1,2<><32>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //PB2 <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; //<2F><><EFBFBD><EFBFBD>ģʽ
// GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
// GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //<2F><><EFBFBD><EFBFBD>
// GPIO_Init(GPIOB, &GPIO_InitStructure); //<2F><>ʼ<EFBFBD><CABC>
//
// GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //PB0<42><30><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //<2F><><EFBFBD><EFBFBD>ģʽ
// GPIO_Init(GPIOB, &GPIO_InitStructure); //<2F><>ʼ<EFBFBD><CABC>
//
// GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //PC13<31><33><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //<2F><><EFBFBD><EFBFBD>ģʽ
// GPIO_Init(GPIOC, &GPIO_InitStructure); //<2F><>ʼ<EFBFBD><CABC>
//
// GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; //PF11<31><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //<2F><><EFBFBD><EFBFBD>ģʽ
// GPIO_Init(GPIOF, &GPIO_InitStructure); //<2F><>ʼ<EFBFBD><CABC>
//
// FCLK_SET;//<2F><><EFBFBD><EFBFBD>״̬Ϊ<CCAC>ߵ<EFBFBD>ƽ
#endif
GBK_ReadID(); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ܹؼ<DCB9><D8BC>ֽ<EFBFBD>. --ʹ<><CAB9><EFBFBD>ֿ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ȡһ<C8A1><D2BB><EFBFBD>ֿ<EFBFBD><D6BF>ؼ<EFBFBD><D8BC>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
//ȷ<><C8B7><EFBFBD>ֿ<EFBFBD><D6BF>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȱʧ<C8B1>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
//////////////////////////////////////////////////////////////////////////////////
//<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//********************************************************************************
//////////////////////////////////////////////////////////////////////////////////
void GBK_delay(unsigned char Time)
{
unsigned char m,n;
for(n=0;n<Time;n++)
{
for(m=0;m<100;m++);
}
}
//////////////////////////////////////////////////////////////////////////////////
//IO<49>ӿڶ<D3BF>д<EFBFBD><D0B4><EFBFBD><EFBFBD>--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//********************************************************************************
//////////////////////////////////////////////////////////////////////////////////
#if Used_FontIO
//unsigned char Font_SPI_WR(unsigned char byte)
//{
// unsigned char bit_ctr;
//
// for(bit_ctr=0;bit_ctr<8;bit_ctr++) // <20><><EFBFBD><EFBFBD>
// {
//
//
// if((byte&0x80)==0x80)FDI_SET; // MSB TO MOSI
// else FDI_CLR;
// FCLK_CLR;
//
// byte=(byte<<1); // shift next bit to MSB
//
// byte|=FDO_IN; // capture current MISO bit
//
// FCLK_SET;
//
// }
//
// FCLK_SET;//<2F><><EFBFBD><EFBFBD>״̬Ϊ<CCAC>ߵ<EFBFBD>ƽ
//
// return byte;
//
//}
#endif
//********************************************************************************
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void FontLib_Read(u8* pBuffer,u32 ReadAddr,u16 Num_Read)
//<2F><>ȡSPI FLASH
//<2F><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>ʼ<EFBFBD><CABC>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD>
//pBuffer:<3A><><EFBFBD>ݴ洢<DDB4><E6B4A2>
//ReadAddr:<3A><>ʼ<EFBFBD><CABC>ȡ<EFBFBD>ĵ<EFBFBD>ַ(24bit)
//Num_Read:Ҫ<><D2AA>ȡ<EFBFBD><C8A1><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>(<28><><EFBFBD><EFBFBD>65535)
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//********************************************************************************
void FontLib_Read(u8* pBuffer,u32 ReadAddr,u16 Num_Read)
{
u16 i;
Font_CS_EN; //ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Font_SPI_WR(FontRead_CMD); //<2F><><EFBFBD>Ͷ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
Font_SPI_WR((u8)((ReadAddr)>>16)); //<2F><><EFBFBD><EFBFBD>24bit<69><74>ַ
Font_SPI_WR((u8)((ReadAddr)>>8));
Font_SPI_WR((u8)ReadAddr);
for(i=0;i<Num_Read;i++)
{
pBuffer[i]=Font_SPI_WR(0xFF); //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
Font_CS_SN; //ʧ<><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
//********************************************************************************
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void GBK_ReadID(void)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ȡ<EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD>ֿ<EFBFBD><D6BF>ͺ<EFBFBD>ID--ʹ<><CAB9><EFBFBD>ֿ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ȡһ<C8A1><D2BB><EFBFBD>ֿ⣬
//ȷ<><C8B7><EFBFBD>ֿ<EFBFBD><D6BF>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȱʧ<C8B1>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//********************************************************************************
void GBK_ReadID(void)
{
u8 Temp[24];
u8 i;
LCD_Clear(WHITE);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ
for(i=0;i<24;i++)Temp[i]=0;//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FontLib_Read(Temp,0,17);
DrawFont_GBK16B(16,16,RED,Temp);
for(i=0;i<24;i++)Temp[i]=0;//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FontLib_Read(Temp,20,8);
DrawFont_GBK16B(16,32,RED,Temp);
for(i=0;i<24;i++)Temp[i]=0;//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FontLib_Read(Temp,30,8);
DrawFont_GBK16B(16,48,RED,Temp);
delay_ms(2000); //<2F><>ʱ<EFBFBD><CAB1>ʾ --<2D><>ʾ<EFBFBD><CABE><EFBFBD>ֿ<EFBFBD><D6BF>Բ<EFBFBD><D4B2><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ȡ<EFBFBD>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD>
}
////////////////////////// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ASCII<49><49><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD> //////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void GBK_GetASC_Point(uint8_t *code, uint8_t *Pdot, uint8_t Font, uint16_t Num)
//*code<64><65><EFBFBD>ַ<EFBFBD>ָ<EFBFBD>ʼ-<2D>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ŀ<EFBFBD>ʼ<EFBFBD><CABC>ַ,GBK<42><4B>-<2D><><EFBFBD>ֿ<EFBFBD><D6BF>в<EFBFBD><D0B2>ҳ<EFBFBD><D2B3><EFBFBD>ģ
//*Pdot<6F><74><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4>ŵ<EFBFBD>ַ (size/8+((size%8)?1:0))*(size) bytes<65><73>С
// Font: <20><><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
// Num : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//********************************************************************************
//////////////////////////////////////////////////////////////////////////////////
void GBK_GetASC_Point(uint8_t *code, uint8_t *Pdot, uint8_t Font, uint16_t Num)
{
uint8_t QW; //ASC<53><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint32_t ADDRESS;
QW=*code;//<2F><>λ<EFBFBD><CEBB>--<2D><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
//csize=(size/8+((size%8)?1:0))*(size/2);//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
switch(Font)
{
case 12:
ADDRESS=((unsigned long)QW*Num)+ASCII6x12_ST; //<2F>õ<EFBFBD><C3B5>ֿ<EFBFBD><D6BF>е<EFBFBD><D0B5>ֽ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
break;
case 16:
ADDRESS=((unsigned long)QW*Num)+ASCII8x16_ST; //<2F>õ<EFBFBD><C3B5>ֿ<EFBFBD><D6BF>е<EFBFBD><D0B5>ֽ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
break;
case 24:
ADDRESS=((unsigned long)QW*Num)+ASCII12x24_ST; //<2F>õ<EFBFBD><C3B5>ֿ<EFBFBD><D6BF>е<EFBFBD><D0B5>ֽ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
break;
case 32:
ADDRESS=((unsigned long)QW*Num)+ASCII16x32_ST; //<2F>õ<EFBFBD><C3B5>ֿ<EFBFBD><D6BF>е<EFBFBD><D0B5>ֽ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
break;
case 48:
ADDRESS=((unsigned long)QW*Num)+ASCII24x48_ST; //<2F>õ<EFBFBD><C3B5>ֿ<EFBFBD><D6BF>е<EFBFBD><D0B5>ֽ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
break;
case 64:
ADDRESS=((unsigned long)QW*Num)+ASCII32x64_ST; //<2F>õ<EFBFBD><C3B5>ֿ<EFBFBD><D6BF>е<EFBFBD><D0B5>ֽ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
break;
default: return;
}
FontLib_Read(Pdot,ADDRESS,Num);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
}
////////////////////////// <20><>ָ<EFBFBD><D6B8>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ʾASCII<49><49> <20>ַ<EFBFBD>--<2D><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD> //////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void GBK_ShowASCII(uint16_t x, uint16_t y, uint8_t *N_Word, uint8_t size, uint16_t D_Color, uint16_t B_Color, uint8_t mode)
//<2F><>ʾһ<CABE><D2BB>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>С<EFBFBD><D0A1>ASC<53>ַ<EFBFBD>
//x,y : ASCII<49><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--16λ
//N_Word : ASCII--<2D><><EFBFBD><EFBFBD>--8λ
//size : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С-<2D>ֺ<EFBFBD>-8λ
//D_Color<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ--16λ
//B_Color<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ--16λ
//mode: 0,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ,1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ --8λ
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//********************************************************************************
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void GBK_ShowASCII(uint16_t x, uint16_t y, uint8_t *N_Word, uint8_t size, uint16_t D_Color, uint16_t B_Color, uint8_t mode)
{
uint16_t csize; //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
uint8_t temp;
uint16_t t,t1;
uint16_t y0=y;
uint8_t dzk[256];
csize=(size/8+((size%8)?1:0))*(size/2); //ASCII<49>ַ<EFBFBD><D6B7><EFBFBD>Сռ<D0A1><D5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵĿ<D6B5><C4BF>ȣ<EFBFBD><C8A3>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
if(size!=12&&size!=16&&size!=24&&size!=32&&size!=48&&size!=64)return; //<2F><>֧<EFBFBD>ֵ<EFBFBD>size
GBK_GetASC_Point(N_Word,dzk,size,csize); //<2F>õ<EFBFBD><C3B5><EFBFBD>Ӧ<EFBFBD><D3A6>С<EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for(t=0;t<csize;t++)
{
temp=dzk[t]; //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for(t1=0;t1<8;t1++)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>Ļ
{
if(temp&0x80) LCD_Fast_DrawPoint(x,y,D_Color); //<2F><>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
else if(mode==0)LCD_Fast_DrawPoint(x,y,B_Color); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
temp<<=1;
y++;
if((y-y0)==size)
{
y=y0;
x++;
break;
}
}
}
}
////////////////////////// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GBK<42>ֿ<EFBFBD>--<2D><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD> //////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void GBK_Lib_GetHz(uint8_t *code, uint8_t *Pdot, uint8_t Font, uint16_t Num)
//*code<64><65><EFBFBD>ַ<EFBFBD>ָ<EFBFBD>ʼ-<2D>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ŀ<EFBFBD>ʼ<EFBFBD><CABC>ַ,GBK<42><4B>-<2D><><EFBFBD>ֿ<EFBFBD><D6BF>в<EFBFBD><D0B2>ҳ<EFBFBD><D2B3><EFBFBD>ģ
//*Pdot<6F><74><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4>ŵ<EFBFBD>ַ (size/8+((size%8)?1:0))*(size) bytes<65><73>С
// Font: <20><><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
// Num : <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//********************************************************************************
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void GBK_Lib_GetHz(uint8_t *code, uint8_t *Pdot, uint8_t Font, uint16_t Num)
{
uint8_t qh,ql;
uint16_t i;
uint32_t foffset;
uint32_t ADDRESS;
//csize=(size/8+((size%8)?1:0))*(size);//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
qh=*code; //<2F><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
ql=*(++code); //<2F><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
if(qh<0x81||ql<0x40||ql==0xff||qh==0xff)//<2F>dz<EFBFBD><C7B3>ú<EFBFBD><C3BA><EFBFBD>
{
for(i=0;i<Num;i++)*Pdot++=0x00; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--0<><30><EFBFBD><EFBFBD>ʾ
return; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
if(ql<0x7f)ql-=0x40; //ע<><D7A2>!
else ql-=0x41;
qh-=0x81;
foffset=((unsigned long)190*qh+ql)*Num; //<2F>õ<EFBFBD><C3B5>ֿ<EFBFBD><D6BF>е<EFBFBD><D0B5>ֽ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
switch(Font)
{
case 12:
ADDRESS=foffset+GBK12x12_ST; //<2F><><EFBFBD><EFBFBD> 16x16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ<CABC><CEBB>
break;
case 16:
ADDRESS=foffset+GBK16x16_ST; //<2F><><EFBFBD><EFBFBD> 16x16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ<CABC><CEBB>
break;
case 24:
ADDRESS=foffset+GBK24x24_ST; //<2F><><EFBFBD><EFBFBD> 24x24 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ<CABC><CEBB>
break;
case 32:
ADDRESS=foffset+GBK32x32_ST; //<2F><><EFBFBD><EFBFBD> 32x32 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ<CABC><CEBB>
break;
default: return;
}
FontLib_Read(Pdot,ADDRESS,Num);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
}
////////////////////////// <20><>ָ<EFBFBD><D6B8>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>--<2D><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD> //////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void GBK_Show_Font(uint16_t x, uint16_t y, uint8_t *font, uint8_t size, uint16_t D_Color, uint16_t B_Color, uint8_t mode)
//<2F><>ʾһ<CABE><D2BB>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>С<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>
//x,y : ASCII<49><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --16λ
//N_Word : ASCII--<2D><><EFBFBD><EFBFBD> --8λ
//size : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С-<2D>ֺ<EFBFBD> --8λ
//D_Color<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ --16λ
//B_Color<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ --16λ
//mode: 0,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ,1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ --8λ
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//********************************************************************************
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void GBK_Show_Font(uint16_t x, uint16_t y, uint8_t *font, uint8_t size, uint16_t D_Color, uint16_t B_Color, uint8_t mode)
{
uint16_t csize; //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
uint8_t temp,t,t1;
uint16_t y0=y;
uint8_t dzk[128];
csize=(size/8+((size%8)?1:0))*(size); //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
if(size!=12&&size!=16&&size!=24&&size!=32)return; //<2F><>֧<EFBFBD>ֵ<EFBFBD>size
GBK_Lib_GetHz(font,dzk,size,csize); //<2F>õ<EFBFBD><C3B5><EFBFBD>Ӧ<EFBFBD><D3A6>С<EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for(t=0;t<csize;t++)
{
temp=dzk[t]; //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for(t1=0;t1<8;t1++)
{
if(temp&0x80)LCD_Fast_DrawPoint(x,y,D_Color);//<2F><>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
else if(mode==0)LCD_Fast_DrawPoint(x,y,B_Color); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
temp<<=1;
y++;
if((y-y0)==size)
{
y=y0;
x++;
break;
}
}
}
}
/////////////////////////////////////<2F><>ָ<EFBFBD><D6B8>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>/////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void GBK_Show_Str(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint8_t *str, uint8_t size, uint16_t D_Color, uint16_t B_Color, uint8_t mode)
//<2F><>ָ<EFBFBD><D6B8>λ<EFBFBD>ÿ<EFBFBD>ʼ<EFBFBD><CABC>ʾһ<CABE><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
//֧<><D6A7><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
//(x,y):<3A><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
//width,height:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//str :<3A>ַ<EFBFBD><D6B7><EFBFBD>
//size :<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
//D_Color<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ --16λ
//B_Color<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ --16λ
//mode:0,<2C>ǵ<EFBFBD><C7B5>ӷ<EFBFBD>ʽ;1,<2C><><EFBFBD>ӷ<EFBFBD>ʽ
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//********************************************************************************
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void GBK_Show_Str(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint8_t *str, uint8_t size, uint16_t D_Color, uint16_t B_Color, uint8_t mode)
{
uint16_t x0=x;
uint16_t y0=y;
uint8_t bHz=0; //<2F>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
while(*str!=0)//<2F><><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>
{
if(!bHz)
{
if(*str>0x80)bHz=1;//<2F><><EFBFBD><EFBFBD>
else //<2F>ַ<EFBFBD>
{
if(x>(x0+width-size/2))//<2F><><EFBFBD><EFBFBD>
{
y+=size;
x=x0;
}
if(y>(y0+height-size))break;//Խ<><EFBFBD><E7B7B5>
if(*str==13)//<2F><><EFBFBD>з<EFBFBD><D0B7><EFBFBD>
{
y+=size;
x=x0;
str++;
}
else GBK_ShowASCII(x, y, str, size, D_Color, B_Color, mode); //LCD_ShowChar(x,y,*str,size,mode);//<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
str++;
x+=size/2; //<2F>ַ<EFBFBD>,Ϊȫ<CEAA>ֵ<EFBFBD>һ<EFBFBD><D2BB>
}
}
else//<2F><><EFBFBD><EFBFBD>
{
bHz=0;//<2F>к<EFBFBD><D0BA>ֿ<EFBFBD>
if(x>(x0+width-size))//<2F><><EFBFBD><EFBFBD>
{
y+=size;
x=x0;
}
if(y>(y0+height-size))break; //Խ<><EFBFBD><E7B7B5>
GBK_Show_Font(x,y,str,size, D_Color, B_Color, mode); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
str+=2;
x+=size;//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
}
}
}
/////////////////////////////////////<2F><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><C8B5>м<EFBFBD><D0BC><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>/////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void GBK_Show_StrMid(uint16_t x,uint16_t y, uint8_t size, uint8_t len, uint16_t D_Color, uint16_t B_Color,uint8_t*str)
//<2F><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><C8B5>м<EFBFBD><D0BC><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ȳ<EFBFBD><C8B3><EFBFBD><EFBFBD><EFBFBD>len,<2C><><EFBFBD><EFBFBD>GBK_Show__Str<74><72>ʾ
//len:ָ<><D6B8>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
//D_Color<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ --16λ
//B_Color<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ --16λ
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//********************************************************************************
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void GBK_Show_StrMid(uint16_t x,uint16_t y, uint8_t size, uint8_t len, uint16_t D_Color, uint16_t B_Color,uint8_t*str)
{
uint16_t strlenth=0;
strlenth=strlen((const char*)str);
strlenth*=size/2;
if(strlenth>len)GBK_Show_Str(x,y,lcddev.width,lcddev.height,str,size,D_Color,B_Color,1);
else
{
strlenth=(len-strlenth)/2;
GBK_Show_Str(strlenth+x,y,lcddev.width,lcddev.height,str,size,D_Color,B_Color,1);
}
}
//**************************************************************************************/
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void DrawFont_GBK12B(u16 x,u16 y, u16 color, u8*str)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ָ<EFBFBD><D6B8>λ<EFBFBD>ÿ<EFBFBD>ʼ<EFBFBD><CABC>ʾһ<CABE><D2BB>12x12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<2D>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>Ļһ<C4BB>е<EFBFBD><D0B5>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>x<EFBFBD><78><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//(x,y):<3A><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
//color,<2C>ַ<EFBFBD><D6B7><EFBFBD>ɫ
//str :<3A>ַ<EFBFBD><D6B7><EFBFBD>
//<2F>ǵ<EFBFBD><C7B5>ӷ<EFBFBD>ʽ;<3B>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>IJ<EFBFBD><C4B2>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><E4B1B3><EFBFBD><EFBFBD>ɫ
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//**************************************************************************************/
void DrawFont_GBK12B(u16 x,u16 y, u16 color, u8*str)
{
u16 width;
u16 height;
width=lcddev.width-x;
height=lcddev.height-y;
GBK_Show_Str(x,y,width,height, str, 12, color,BACK_COLOR, 0);
}
//**************************************************************************************/
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void DrawFont_GBK16B(u16 x,u16 y, u16 color, u8*str)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ָ<EFBFBD><D6B8>λ<EFBFBD>ÿ<EFBFBD>ʼ<EFBFBD><CABC>ʾһ<CABE><D2BB>16x16<31><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<2D>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>Ļһ<C4BB>е<EFBFBD><D0B5>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>x<EFBFBD><78><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//(x,y):<3A><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
//color,<2C>ַ<EFBFBD><D6B7><EFBFBD>ɫ
//str :<3A>ַ<EFBFBD><D6B7><EFBFBD>
//<2F>ǵ<EFBFBD><C7B5>ӷ<EFBFBD>ʽ;<3B>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>IJ<EFBFBD><C4B2>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><E4B1B3><EFBFBD><EFBFBD>ɫ
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//**************************************************************************************/
void DrawFont_GBK16B(u16 x,u16 y, u16 color, u8*str)
{
u16 width;
u16 height;
width=lcddev.width-x;
height=lcddev.height-y;
GBK_Show_Str(x,y,width,height, str, 16, color,BACK_COLOR, 0);
}
//**************************************************************************************/
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void DrawFont_GBK24B(u16 x,u16 y, u16 color, u8*str)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ָ<EFBFBD><D6B8>λ<EFBFBD>ÿ<EFBFBD>ʼ<EFBFBD><CABC>ʾһ<CABE><D2BB>24x24<32><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<2D>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>Ļһ<C4BB>е<EFBFBD><D0B5>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>x<EFBFBD><78><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//(x,y):<3A><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
//color,<2C>ַ<EFBFBD><D6B7><EFBFBD>ɫ
//str :<3A>ַ<EFBFBD><D6B7><EFBFBD>
//<2F>ǵ<EFBFBD><C7B5>ӷ<EFBFBD>ʽ;<3B>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>IJ<EFBFBD><C4B2>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><E4B1B3><EFBFBD><EFBFBD>ɫ
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//**************************************************************************************/
void DrawFont_GBK24B(u16 x,u16 y, u16 color, u8*str)
{
u16 width;
u16 height;
width=lcddev.width-x;
height=lcddev.height-y;
GBK_Show_Str(x,y,width,height, str, 24, color,BACK_COLOR, 0);
}
//**************************************************************************************/
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void DrawFont_GBK32B(u16 x,u16 y, u16 color, u8*str)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ָ<EFBFBD><D6B8>λ<EFBFBD>ÿ<EFBFBD>ʼ<EFBFBD><CABC>ʾһ<CABE><D2BB>32x32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<2D>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>Ļһ<C4BB>е<EFBFBD><D0B5>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>x<EFBFBD><78><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//(x,y):<3A><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
//color,<2C>ַ<EFBFBD><D6B7><EFBFBD>ɫ
//str :<3A>ַ<EFBFBD><D6B7><EFBFBD>
//<2F>ǵ<EFBFBD><C7B5>ӷ<EFBFBD>ʽ;<3B>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>IJ<EFBFBD><C4B2>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><E4B1B3><EFBFBD><EFBFBD>ɫ
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//**************************************************************************************/
void DrawFont_GBK32B(u16 x,u16 y, u16 color, u8*str)
{
u16 width;
u16 height;
width=lcddev.width-x;
height=lcddev.height-y;
GBK_Show_Str(x,y,width,height, str, 32, color,BACK_COLOR, 0);
}
//**************************************************************************************/
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void DrawFontASC_GBK48B(u16 x,u16 y, u16 color, u8*str)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ָ<EFBFBD><D6B8>λ<EFBFBD>ÿ<EFBFBD>ʼ<EFBFBD><CABC>ʾһ<CABE><D2BB>24x48<34><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--ACSII<49><49> <20><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>ֻ֧<D6BB><D6A7>ASCII<49><EFBFBD><EBA3A9>֧<EFBFBD><D6A7><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>Ļһ<C4BB>е<EFBFBD><D0B5>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>x<EFBFBD><78><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//(x,y):<3A><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
//color,<2C>ַ<EFBFBD><D6B7><EFBFBD>ɫ
//str :<3A>ַ<EFBFBD><D6B7><EFBFBD>
//<2F>ǵ<EFBFBD><C7B5>ӷ<EFBFBD>ʽ;<3B>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>IJ<EFBFBD><C4B2>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><E4B1B3><EFBFBD><EFBFBD>ɫ
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//**************************************************************************************/
void DrawFontASC_GBK48B(u16 x,u16 y, u16 color, u8*str)
{
u16 width;
u16 height;
width=lcddev.width-x;
height=lcddev.height-y;
GBK_Show_Str(x,y,width,height, str, 48, color,BACK_COLOR, 0);
}
//**************************************************************************************/
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void DrawFontASC_GBK64B(u16 x,u16 y, u16 color, u8*str)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ָ<EFBFBD><D6B8>λ<EFBFBD>ÿ<EFBFBD>ʼ<EFBFBD><CABC>ʾһ<CABE><D2BB>32x64<36><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--ACSII<49><49> <20><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>ֻ֧<D6BB><D6A7>ASCII<49><EFBFBD><EBA3A9>֧<EFBFBD><D6A7><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>Ļһ<C4BB>е<EFBFBD><D0B5>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>x<EFBFBD><78><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//(x,y):<3A><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
//color,<2C>ַ<EFBFBD><D6B7><EFBFBD>ɫ
//str :<3A>ַ<EFBFBD><D6B7><EFBFBD>
//<2F>ǵ<EFBFBD><C7B5>ӷ<EFBFBD>ʽ;<3B>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>IJ<EFBFBD><C4B2>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><E4B1B3><EFBFBD><EFBFBD>ɫ
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
//**************************************************************************************/
void DrawFontASC_GBK64B(u16 x,u16 y, u16 color, u8*str)
{
u16 width;
u16 height;
width=lcddev.width-x;
height=lcddev.height-y;
GBK_Show_Str(x,y,width,height, str, 64, color,BACK_COLOR, 0);
}
//****************************************************************************************/
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void GBK_LibFont_Test(void)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: GBK<42><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
/****************************************************************************************/
void GBK_LibFont_Test(void)
{
LCD_Clear(WHITE);
DrawFont_GBK16B(24,16,BLUE,"2: GBK<42>ֿ<EFBFBD>--<2D><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>");
delay_ms(1000);
LCD_Clear(WHITE);
GBK_Show_Str(24,0,240,32,"ʮ<EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",32,D_Color,B_Color,0);
GBK_Show_Str(16,40,240,16,"<EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",16,D_Color,B_Color,0);
GBK_Show_Str(16,56,240,16,"From: mcudev.taobao.com",16,D_Color,B_Color,0);
DrawFont_GBK12B(16,72,BLUE,"Date: 2019/05/08");
GBK_Show_StrMid(16,96,12,200,BLUE,GRAY0,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 2019/05/08");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
GBK_Show_Str(16,120,240,12,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>12x12-GBK<42>ֿ⣺",12,D_Color,B_Color,0); //<2F><>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
GBK_Show_Str(16,136,240,16,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>16x16<EFBFBD>ֿ⣺",16,D_Color,B_Color,0); //<2F><>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
GBK_Show_Str(16,156,240,24,"24x24<EFBFBD>ֿ⣺",24,D_Color,B_Color,0); //<2F><>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
DrawFont_GBK32B(16,184,BLUE,"32x32<EFBFBD>ֿ⣺"); //<2F><>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
delay_ms(2000);
LCD_Clear(WHITE);
GBK_Show_Str(16,16,240,24,"ASCII 48x24<32>ֿ⣺",24,D_Color,B_Color,0); //<2F><>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
DrawFontASC_GBK48B(16,48,BLUE,"48");
GBK_Show_Str(16,128,240,24,"ASCII 64x32<33>ֿ⣺",24,D_Color,B_Color,0); //<2F><>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
DrawFontASC_GBK64B(16,152,BLUE,"64");
delay_ms(2000);
}
/************************************************************************************************/
//STM32H7<48><37><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>-HAL<41><EFBFBD><E2BAAF><EFBFBD>
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
/************************************************************************************************/