彙總點這
修改 lcd_put_ascii 函式,可以指定字元顏色。
實現 lcd_put_str 函式,輸出字串,可以換行
修改 lcd_put_chinese 函式,可以指定字元顏色。
實現 lcd_put_str 函式,可以輸出混合的中英文本元,比如「中國 china」,支援自動換行。
#include #include #include #include #include #include #include #include #include #include "show.h"
#include #include #include int fd_fb;
int fd_hzk16;
struct stat hzk_stat;
static struct fb_var_screeninfo var;
int screen_size;
static unsigned char *fbmem;
static unsigned char *hzkmem;
static unsigned int pixel_width, line_width = 0;
/* 往乙個pixel寫入顏色
x - x的位置
y - y的位置
*/void lcd_put_pixel(int x, int y, unsigned int color)
case 16:
case 32:
default:
}}void lcd_put_ascii(unsigned int x, unsigned int y, unsigned char a, unsigned int color)
if(str[i] < 0xa1)
else
}}void lcd_test()
int main(int argc, char **ar**)
if(ioctl(fd_fb, fbioget_vscreeninfo, &var))
pixel_width = var.bits_per_pixel / 8; //以位元組表示
line_width = var.xres * pixel_width; //以位元組表示
screen_size = var.yres * line_width; //以位元組表示
#ifdef debug_lcd
printf("pixel_width = %d\n", pixel_width);
printf("line_width = %d\n", line_width);
printf("incorrect screen_size = %d\n", var.yres * line_width * pixel_width);
printf("correctscreen_size = %d\n", screen_size);
#endif
fbmem = (unsigned char *)mmap(null , screen_size, prot_read | prot_write, map_shared, fd_fb, 0);
if (fbmem == (unsigned char *)-1)
fd_hzk16 = open("hzk16", o_rdonly);
if (fd_hzk16 < 0)
if(fstat(fd_hzk16, &hzk_stat))
hzkmem = (unsigned char *)mmap(null , hzk_stat.st_size, prot_read, map_shared, fd_hzk16, 0);
if (hzkmem == (unsigned char *)-1)
lcd_test();
return 0;
}
課後作業2
學號 2017035107134 姓名 劉佔鋒 我的碼雲貪吃蛇專案倉庫 psp我的估計 實際情況 計畫10分鐘 10分分鐘 計畫文件 10分鐘 10分鐘 分析10分鐘 5分鐘開始編寫 50分鐘 60分鐘 執行修改 10分鐘 15分鐘 記錄5分鐘 8分鐘總結 10分分鐘 12分鐘 換顏色 多方面換顏色...
課後作業2
2.psp 預估耗時 實際耗時 計畫7天 7天估計這個任務需要多少時間 4天7天 開發5天 需求分析 1天1天 生成設計文件 設計複審 規範 具體設計 5天3天 具體編碼 複審 測試1天 1天報告 測試報告 計算工作量 事後總結 10分鐘 1小時合計 3.使用正規表示式將數字和運算子分隔開判斷運算子...
課後作業2
解題思路描述 看到題目後,先要進行思考計算器是怎樣計算的,分哪幾個步驟,需要進行視窗介面的程式設計,按鈕事件的處理,和計算處理介面,下一步建立構造方法,對自己的主類進行初始化,建立資料計算方法和事件處理方法,建立main方法,例項化我們的物件。說明 這裡的時間處理方法,沒有建立乙個整體的方法,二是在...