您現在的位置是:首頁 > 娛樂

Framebuffer 應用程式設計涉及的 API 函式

由 韋東山嵌入式Linux 發表于 娛樂2022-01-20
簡介② Flags 表示開啟檔案的方式,常用的有以下 6 種,a

百問網韋東山怎麼玩

Framebuffer 應用程式設計涉及的 API 函式

作者:韋東山

本文字數:924,閱讀時長:3分鐘

本節程式的目的是:開啟 LCD 裝置節點,獲取解析度等引數,對映 Framebuffer,最後實現描點函式。

open 函式

在 Ubuntu 中執行“man 2 open”,可以看到 open 函式的說明:

Framebuffer 應用程式設計涉及的 API 函式

圖1

標頭檔案:

#include #include #include

函式原型:

int open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode);

函式說明:

① pathname 表示開啟檔案的路徑;

② Flags 表示開啟檔案的方式,常用的有以下 6 種,

a。 O_RDWR 表示可讀可寫方式開啟;

b。 O_RDONLY 表示只讀方式開啟;

c。 O_WRONLY 表示只寫方式開啟;

d。 O_APPEND 表示如果這個檔案中本來是有內容的,則新寫入的內容會繼續到原來內容的後面;

e。 O_TRUNC 表示如果這個檔案中本來是有內容的,則原來的內容會被丟棄,截斷;

f。 O_CREAT 表示當前開啟檔案不存在,我們建立它並開啟它,通常與 O_EXCL 結合使用,當沒有檔案時

建立檔案,有這個檔案時會報錯提醒我們;

③ Mode 表示建立檔案的許可權,只有在 flags 中使用了 O_CREAT 時才有效,否則忽略。

④ 返回值:開啟成功返回檔案描述符,失敗將返回-1。

ioctl 函式

在 Ubuntu 中執行“man ioctl”,可以看到 ioctl 函式的說明:

Framebuffer 應用程式設計涉及的 API 函式

標頭檔案:

#include

函式原型:

int ioctl(int fd, unsigned long request, 。。。);

函式說明:

① fd 表示檔案描述符;

② request 表示與驅動程式互動的命令,用不同的命令控制驅動程式輸出我們需要的資料;

③ … 表示可變引數 arg,根據 request 命令,裝置驅動程式返回輸出的資料。

④ 返回值:開啟成功返回檔案描述符,失敗將返回-1。

ioctl 的作用非常強大、靈活。不同的驅動程式內部會實現不同的 ioctl,APP 可以使用各種 ioctl 跟

驅動程式互動:可以傳資料給驅動程式,也可以從驅動程式中讀出資料。

「新品首發」STM32MP157開發板火爆預售!首批僅300套

點選“瞭解更多”閱讀更多相關章節

推薦文章

  • 檢查懷孕了想給男友報喜,竟發給了前男友,結果……

    開心一刻:一次和朋友玩真心話大冒險,我輸了,玩大冒險,朋友說你去路邊找個人問這裡是不是地球...

  • 在南方,少了粽子不過年

    包的時候先在手心裡鋪上冬葉,窩成一個漏斗的形狀,然後一層糯米一層綠豆一塊豬肉一層綠豆一層糯米的順序鋪好、包緊,用水草綁牢,出來就是一隻有稜有角的美味肉粽子,我記得母親包的粽子形狀總是特別漂亮,呈枕頭狀或四角山包形,有時在我的央求下,母親會包...

  • 匹克是什麼品牌?

    透過差異化的品牌營銷,加之“品牌專業化、產品系列化”的經營方針,以及對銷售網路進行精耕細作,強化終端形象,鋪以科學的物流控制和銷售管理,匹克成功收穫品牌力所帶來的銷售增長和品牌價值的提升...