查看: 2025|回复: 1

[i.MX6ULL竞赛专区] 【我的项目666--智能楼宇门禁】使用C语言对FrameBuffer外设刷...

[复制链接]
  • TA的每日心情
    开心
    2018-4-20 15:04
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    49

    主题

    188

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    2963
    最后登录
    2023-7-24
    发表于 2018-7-9 09:42:06 | 显示全部楼层 |阅读模式
    本帖最后由 donatello1996 于 2018-7-18 23:49 编辑

        众所周知,在Linux中,要操作显示屏,其实就是要操作/dev目录下的fb0外设文件,使显存暴露到用户可操作内存空间中,对fb0写数据,就是


    直接对显存写数据,也就是直接在显示屏上面画点。因此,在所有操作开始之前,先打开fb0外设:
    1. int fd=open("/dev/fb0",O_RDWR);
    复制代码
    O_RDWR宏是可读可写,open()函数是打开文件的函数。然后是对显存写数据:
    1. write(fd,lcd_buf,480*272*4);
    复制代码
    lcd_buf就是要写入数据的缓存,缓存大小是屏幕分辨率*4,我手头上的屏幕是480*272分辨率的彩屏,因此分辨率为480*272。
    那么,知道如何去画一个点,刷屏就很容易了:
    1. for(i=0;i<480*272;i++)
    2.         lcd_buf[i]=color;
    3. write(fd,lcd_buf,480*272*4);
    复制代码

    1.gif
    再来点骚操作,显示一些字符:
    IMG_20180709_093907R.jpg


    今天心情不错
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2018-2-7 18:18
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    13

    主题

    126

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    1628
    最后登录
    2021-7-13
    发表于 2018-7-12 19:29:00 | 显示全部楼层
    写显存,刷屏竟然如此简单!!!
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-3 03:33 , Processed in 0.116884 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表