日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]最近在玩車載液晶儀表,之前用Arduino+USART液晶,后來發(fā)現(xiàn)Arduino性能不夠,就轉(zhuǎn)向STM32。由于需要在液晶屏上顯示手機信息,先是采用了普通點陣字庫方案,個人感覺效果慘不忍睹,滿屏的鋸齒。翻遍網(wǎng)絡(luò),沒發(fā)現(xiàn)比較合

最近在玩車載液晶儀表,之前用Arduino+USART液晶,后來發(fā)現(xiàn)Arduino性能不夠,就轉(zhuǎn)向STM32。由于需要在液晶屏上顯示手機信息,先是采用了普通點陣字庫方案,個人感覺效果慘不忍睹,滿屏的鋸齒。翻遍網(wǎng)絡(luò),沒發(fā)現(xiàn)比較合適的方案。

需要說明的是,我用的STM32板很簡單:STM32+FSMC+TFT5寸屏+SDIO,沒有擴展SDRAM,但是有個好處,可以用大容量TF卡,這也是這個方案可以實現(xiàn)的主要因素。啰嗦了一大堆,先上圖:



字體看起來非常舒服,沒有難看的鋸齒。
方案其實也比較土:
1、在PC上寫個字庫提取工具,和其他工具不一樣,這個工具提取的字模包含了抗鋸齒信息(其實就是灰度信息),每個像素需要1個字節(jié)來存儲,32*32點陣的字模就需要1024個字節(jié),假設(shè)有3萬個字模,也就占用30M左右的空間。但是我用的是TF卡,字庫信息對于TF卡容量來說幾乎可以忽略不計!
2、在STM32上的實現(xiàn)就更簡單了,直接讀取TF卡上的字模信息,與要顯示的顏色進行簡單運算后,直接輸出到TFT上就可以了。

附上顯示點陣漢字的代碼:
//*************** 顯示點陣漢字字符 ***********
int display_hz_char(int x,int y,u16 chr){
SD_Error Status = SD_OK;
int i,x1,y1;
BYTE buff[SECTOR_SIZE*2];
u32 sec_start=hz_sec_base+(0x33ff-0x2000+1+chr-0x4e00)*hz_sector_count; //漢字起始扇區(qū)
if((chr>=0x2000)&&(chr<=0x33ff)){
sec_start=hz_sec_base+(chr-0x2000)*hz_sector_count;
}

if((chr>=0xff00)&&(chr<=0xffef)){ //全角字符
sec_start=hz_sec_base+(0x33ff-0x2000+1+0x9fbf-0x4e00+1+chr-0xff00)*hz_sector_count;
}

Status = SD_ReadMultiBlocksEx(sec_start * SECTOR_SIZE, (uint32_t*)(&buff[0]), SECTOR_SIZE, 2,true); //讀取tf卡扇區(qū)數(shù)據(jù)
if (Status != SD_OK){
in_dma_reading=false;
return x;
}
while (DMA_GetFlagStatus(DMA2_FLAG_TC4) == RESET){}; //等待DMA讀操作完成

i=0;
Lcd_BlockWrite(x,x+dot_font_size-1,y,y+dot_font_size-1); //TFT塊寫入
for(y1=0;y1 for(x1=0;x1 if(buff>0){ //背景色,用指定的顏色顯示
*(__IO u16 *) (Bank1_LCD_D) = calc_alpha(dot_font_text_color,dot_font_bkg_color,buff);
}
else{ //背景色,用指定的背景色顯示
*(__IO u16 *) (Bank1_LCD_D) = font_bg_565;
}
i++;
if(i>=SECTOR_SIZE*2){ //一個32點陣字模需要占用2個扇區(qū)(1024個字節(jié))
i=0;
}
}
}
return x+dot_font_size;
}
最后附上pc端字模制作工具截圖:


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉