0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)嵌入式Linux工控板EM9160介紹

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-01-14 11:20 ? 次閱讀

嵌入式Linux主板EM9160主要應(yīng)用之一就是可以作為智能終端的核心平臺,智能終端總是帶有一種顯示單元。EM9160作為一種高效、低成本的產(chǎn)品解決方案,專門針對小型的單色LCD顯示模塊(分辨率通常在128×64至320×240),在嵌入式Linux下完成了LCD驅(qū)動程序,以實現(xiàn)對LCD屏讀寫操作,驅(qū)動程序可以實現(xiàn)直接對硬件訪問、操作的功能,從而可以大大地加快了LCD屏的顯示速度。

嵌入式Linux下LCD驅(qū)動簡介

在嵌入式Linux環(huán)境下,LCD的驅(qū)動已自動加載,其設(shè)備文件名為“/dev/em9x60_lcd”。應(yīng)用程序通過調(diào)用5個IOCTL命令來實現(xiàn)對于LCD屏的操作。

EM9X60_LCD_IOCTL_TYPE: 用于設(shè)置LCD屏類型。
EM9X60_LCD_IOCTL_LINE: 圖形方式的操作,包括畫點、畫線以及畫Bar條。
EM9X60_LCD_IOCTL_BLOCK:數(shù)據(jù)塊顯示操作,主要用于字模的顯示。
EM9X60_LCD_IOCTL_CLEAR:清屏操作。
EM9X60_LCD_IOCTL_UPDATE:用于刷新LCD屏數(shù)據(jù)。

針對于畫點、畫線、畫Bar條命令EM9X60_LCD_IOCTL_LINE需要用到以下結(jié)構(gòu):

struct lcd_line
{
unsigned int type; // = 0: point; = 1: line; = 2: bar
unsigned int x0;
unsigned int y0;
unsigned int x1;
unsigned int y1;
unsigned int color; // = 0: write '0'; = 1: write '1', = 2: xor operation
};

數(shù)據(jù)塊顯示操作命令EM9X60_LCD_IOCTL_BLOCK會用到struct lcd_block結(jié)構(gòu),該結(jié)構(gòu)中的數(shù)據(jù)data[16]中每個data[n] 值是按照x方向排列的,x 方向的大小最多為8個bit;數(shù)據(jù)data[0] ~ data[15]是按照y方向排列的,一次最多寫16個字節(jié)大小的數(shù)據(jù)。這種數(shù)據(jù)塊結(jié)構(gòu)可應(yīng)用在寫字模,或是公司專用圖形LOGO上。

struct lcd_block
{
unsigned int x0;
unsigned int y0;
unsigned int xsize; // = 1 - 8; left alignment
unsigned int ysize; // = 1 - 16;
unsigned char data[16]; // block data to be copied
};

如寫一個漢字字模為16X16點陣的數(shù)據(jù),漢字模為ffont[32],可以用如下代碼來實現(xiàn):

LCD_WriteByteBlock( x, y, ffont, 16 );
LCD_WriteByteBlock( x+8, y, &ffont[16], 16 );

int LCD_WriteByteBlock( int x, int y, unsigned char* hfont, int NumOfBytes )
{
int rc;
unsigned int cmd;
struct lcd_block block;
int i1;

block.x0 = x;
block.y0 = y;
block.xsize = 8;
block.ysize = NumOfBytes;
for( i1=0; i1 {
block.data[i1]= hfont[i1];
}
cmd = EM9X60_LCD_IOCTL_BLOCK;

rc = ioctl(lcd_fd, cmd, &block );
if(rc < 0)
{
return rc;
}
return rc;
}

LCD應(yīng)用API函數(shù)簡介

為了方便客戶的使用,在基于em9x60_lcd驅(qū)動基礎(chǔ)上設(shè)計了一套通用的漢字及圖形顯示接口函數(shù),這些函數(shù)均定義在LCD_API.H中。LCD_API函數(shù)提供了一系列對LCD屏進行畫點、畫線、畫Bar條以及字符串(包括漢字和西文)顯示的接口函數(shù),一共包括了11個函數(shù),關(guān)于各個函數(shù)的定義說明,可以參見LCD_AP.H頭文件中的中文注釋。其中的漢字支持為標準一級全漢字,為16×16點陣字?;?2×12點陣字模,西文(字母、數(shù)字和符號)為8×14點陣字模,這兩個字模文件分別為cclib、cclib12.fnt、ascii.chr,放置在EM9160工控板的根文件系統(tǒng)“/lib”目錄中。

目前支持的LCD屏類型包括有:

LCD控制器類型 顯示分辨率 簡要說明
KS0108 128×64 最常用的LCD模塊
T6963C 240×128 具有較大的顯示窗口
SED1335 320×240
KS0108 192×64
UC1698U 160×160 電力集抄終端標準顯示屏

在頭文件LCD_API.H中的對應(yīng)定義如下。

#define LCD_12864 1 // LCD 128×64 KS0108控制器
#define LCD_240128 2 // LCD 240×128 T6963C控制器
#define LCD_320240 3 // LCD 320×240 SED1335控制器
#define LCD_19264 4 // LCD 192×64 KS0108控制器
#define LCD_1601605 // LCD 192×64 UC1698U控制器

經(jīng)過測試LCD的顯示速率得到了大大的提高,以下為常用的兩種LCD顯示速率:

LCD控制器類型 顯示分辨率 清屏速率 滿屏字符顯示速率
T6963C 240×128 10ms 20ms
UC1698U 160×160 9ms 12ms

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207900
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6081

    瀏覽量

    34939
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式linux開發(fā)的基本步驟有哪些?

    嵌入式Linux開發(fā)是一個復(fù)雜的過程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動開發(fā)、應(yīng)用程序開發(fā)等多個方面。以下是嵌入式Linux開發(fā)的基本步驟,以及每個步驟的說明。 硬件選擇 在開始
    的頭像 發(fā)表于 09-02 09:11 ?180次閱讀

    嵌入式linux開發(fā)怎么操作

    嵌入式Linux開發(fā)是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺。它通常包括一個處理器、內(nèi)存、存儲器、輸入/輸出接口等硬件組件,以及一
    的頭像 發(fā)表于 09-02 09:09 ?200次閱讀

    嵌入式linux開發(fā)芯片的工作原理

    嵌入式Linux開發(fā)是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺,它廣泛應(yīng)用于工業(yè)控制、智能家居、智能交通、醫(yī)療設(shè)備等領(lǐng)域。
    的頭像 發(fā)表于 09-02 09:07 ?168次閱讀

    飛凌嵌入式技術(shù)創(chuàng)新日(深圳站)精彩回顧

    工的分享,則更加側(cè)重于嵌入式技術(shù)的研發(fā)和創(chuàng)新,為與會者提供了新的問題解決思路;最后,粵港澳大灣區(qū)國創(chuàng)中心技術(shù)專家的溫老師 介紹了openEu
    發(fā)表于 08-28 09:06

    聚徽-嵌入式工控機是如何散熱的

    嵌入式工控機散熱主要依賴于以下幾種方式:
    的頭像 發(fā)表于 08-14 09:21 ?205次閱讀

    嵌入式工控一體機的安裝方法和使用注意事項?

    客戶咨詢嵌入式工控一體機的安裝問題和維護問題,本文中為大家介紹一下嵌入式工控一體機的安裝方法和使用注意事項。
    的頭像 發(fā)表于 08-04 11:12 ?915次閱讀

    聚徽觸控-嵌入式工控機與傳統(tǒng)工控機有什么不同

    嵌入式工控機得到了飛速的發(fā)展,其應(yīng)用領(lǐng)域也愈發(fā)廣泛。在某些行業(yè)和場景中,傳統(tǒng)的工控機已經(jīng)被新型的嵌入式工控機所替代。如今,
    的頭像 發(fā)表于 07-24 09:31 ?250次閱讀

    什么是嵌入式工控機?它有哪些特點?

    隨著工業(yè)自動化程度的不斷提高,嵌入式工控機作為工業(yè)控制領(lǐng)域的重要設(shè)備,其地位和作用日益凸顯。嵌入式工控機以其獨特的設(shè)計理念和卓越的性能特點,在工業(yè)控制、智能制造等領(lǐng)域發(fā)揮著重要作用。本
    的頭像 發(fā)表于 06-11 17:58 ?969次閱讀

    基于AMD、ARM、Intel和NVIDIA技術(shù)構(gòu)建的嵌入式工控

    嵌入式工控機具有高度可定制性,可以滿足所有行業(yè)的所有邊緣計算任務(wù)。在AMD、ARM、Intel和NVIDIA等領(lǐng)先技術(shù)公司的支持下,我們擁有適用于所有工業(yè)應(yīng)用的全系列經(jīng)過預(yù)審的嵌入式
    的頭像 發(fā)表于 05-22 17:13 ?411次閱讀
    基于AMD、ARM、Intel和NVIDIA<b class='flag-5'>技術(shù)</b>構(gòu)建的<b class='flag-5'>嵌入式</b><b class='flag-5'>工控</b>機

    嵌入式工控機是什么?嵌入式工控機有哪些特點?技術(shù)特點是什么?

    ? ? ? ?嵌入式工控機是一種由工業(yè)設(shè)備生產(chǎn)的特殊單板計算機,就像個人計算機切片的功能一樣,專門為某個行業(yè)設(shè)計。嵌入式工業(yè)計算機主要用于銀行,工業(yè)智能設(shè)備和其他需要高可靠性和穩(wěn)定性的領(lǐng)域。
    的頭像 發(fā)表于 04-12 08:47 ?255次閱讀

    嵌入式工控機性能特點 嵌入式工控機應(yīng)用場景

    嵌入式工控機性能特點 嵌入式工控機應(yīng)用場景 嵌入式工控機是一種專門設(shè)計用于工業(yè)控制系統(tǒng)的計算機設(shè)
    的頭像 發(fā)表于 02-04 11:35 ?463次閱讀

    嵌入式工控機與傳統(tǒng)工控機的區(qū)別

    嵌入式工控機與傳統(tǒng)工控機的區(qū)別? 嵌入式工控機和傳統(tǒng)工控機是兩種不同類型的工業(yè)控制計算機設(shè)備,雖
    的頭像 發(fā)表于 02-04 11:35 ?516次閱讀

    無風(fēng)扇嵌入式工控機的特征及結(jié)構(gòu)

    無風(fēng)扇嵌入式工控機是一種專門設(shè)計用于工業(yè)控制領(lǐng)域的計算機設(shè)備,其最大的特點就是采用了無風(fēng)扇散熱技術(shù),不僅可以防塵、防潮、防振動等,還可實現(xiàn)寬溫運行,具有更高的可靠性和穩(wěn)定性。下面蘇州研訊電子科技
    的頭像 發(fā)表于 11-14 10:14 ?611次閱讀
    無風(fēng)扇<b class='flag-5'>嵌入式</b><b class='flag-5'>工控</b>機的特征及結(jié)構(gòu)

    基于嵌入式Linux的數(shù)字相框設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于嵌入式Linux的數(shù)字相框設(shè)計.pdf》資料免費下載
    發(fā)表于 10-23 09:45 ?0次下載
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>的數(shù)字相框設(shè)計

    什么是嵌入式Linux?

    什么是嵌入式Linux? 對于很多電氣、電信、通信專業(yè)的同學(xué)來說,對口專業(yè)就業(yè)方向主要有軟、硬件兩個方向。無論是對于學(xué)生還是就業(yè)而言,軟硬件的開發(fā)學(xué)習(xí),嵌入式物聯(lián)網(wǎng)在近年來無疑是一個擺在面前
    發(fā)表于 10-11 13:47