Framebuffer 应用编程涉及的 API 函数


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 跟
驱动程序交互:可以传数据给驱动程序 , 也可以从驱动程序中读出数据 。
【Framebuffer 应用编程涉及的 API 函数】「新品首发」STM32MP157开发板火爆预售!首批仅300套
点击“了解更多”阅读更多相关章节