首页 > 其他分享 >在4核心8线程开发板上显示德国国旗

在4核心8线程开发板上显示德国国旗

时间:2024-05-25 10:52:39浏览次数:13  
标签:国旗 800 buffer 写入 开发板 color lcd 线程 include

 * name;GemanyColor
 * function:德国国国旗
 * parameter;
 * ReValue;
 * author;小北blog
 * attention;none
 * date;2024.05.25
 * Copyright(c) 2024 [email protected] GemanyColorAll rights Reserved
 *************************************************************************/
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main()
{
    // 1.打开文件
    int lcd_fd = open("/dev/fb0", O_RDWR);
    if (lcd_fd == -1)
    {
        perror("lcd open failed!");
    }

    // 2.写入颜色
    int i = 0; // 把i循环条件写在外面下面的for可以不用写第一个条件
    int color_buffer[800 * 480] = {0};
    // 写入黑颜色
    for (; i < 800 * 160; i++)
    {
        color_buffer[i] = 0x00000000;
    }
    // 写入红颜色
    for (; i < 800 * 320; i++)
    {
        color_buffer[i] = 0x00FF0000;
    }
    // 写入黄色颜色
    for (; i < 800 * 480; i++)
    {

        color_buffer[i] = 0x00FFFF00;
    }
    write(lcd_fd, color_buffer, 800 * 480 * 4); // 这第三个参数的单位是字节
    // 3.关闭文件
    close(lcd_fd);
    return 0;
}

总结:
1.打开开发板的屏幕程序需要找到开发板系统目录下的dev/fb0
2.德国国旗三个颜色,写入颜色需要三个循环,或者一个循环里面三个判断,写法有这两种,为了可读性选择了三个循环

标签:国旗,800,buffer,写入,开发板,color,lcd,线程,include
From: https://www.cnblogs.com/ikunkunkun/p/18212159

相关文章

  • Ubuntu搭建开发板的模拟器环境
    1、将simulator.tar.gz拷贝到虚拟机,解压(这个压缩包一般在右下角,我这里拖动到左上角了)2、解压3、在mmap_dev目录打开终端(1)mmap_dev输入以下命令进行编译(如有需要清除生成驱动文件,则输入sudomakeclean再执行sudomake):sudomake(2)如果有出现问题sudo:make:commandnotf......
  • 深入解析Python并发的多线程和异步编程
    在Python编程中,多线程是一种常用的并发编程方式,它可以有效地提高程序的执行效率,特别是在处理I/O密集型任务时。Python提供了threading模块,使得多线程编程变得相对简单。本文将深入探讨threading模块的基础知识,并通过实例演示多线程的应用。1.多线程基础概念在开始之前,让我们......
  • 线程的概念和控制
    文章目录线程概念线程的优点线程的缺点线程异常线程用途理解虚拟地址线程控制线程的创建线程终止线程等待线程分离封装线程库线程概念什么是线程?在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列一切进程至少都有一个......
  • WinSock 的多线程编程
    目录概述Winsock为什么需要多线程阻塞模式和非阻塞模式单线程和多线程的优缺点Win32系统下的多进程多线程机制进程和线程线程创建线程同步线程通信  VC++对多线程网络编程的支持MFC中的多线程支持ATL中的多线程支持多线程FTP客户端实例头文件包含线......
  • 基于Python的性能优化--多线程、协程、多进程
    合集-Python(1) 1.基于Python的性能优化05-24收起 一、多线程在CPU不密集、IO密集的任务下,多线程可以一定程度的提升运行效率。importthreadingimporttimeimportrequestsdeffetch_url(url:str)->None:'''根据地址发起请求,获取响应-url:......
  • 使用python uiautomation模块,结合多线程快速寻找控件
    文章目录1.形式一2.形式二1.形式一该方法使用多线程进行搜索,主线程不会等待所有子线程返回结果后再继续执行,而是在获取队列中第一个结果后立即继续执行。优势在于一旦有子线程找到结果,主线程就能立即继续执行;劣势在于未找到结果的子线程会持续搜索,直到达到设定的最大......
  • Java JUC&多线程 基础完整版
    JavaJUC&多线程基础完整版目录JavaJUC&多线程基础完整版1、多线程的第一种启动方式之继承Thread类2、多线程的第二种启动方式之实现Runnable接口3、多线程的第三种实现方式之实现Callable接口4、多线的常用成员方法5、线程的优先级6、守护线程7、线程的让出8、线程插队9、同......
  • Java并发编程之newFixedThreadPool线程池
    随着计算机硬件性能的不断提升,多核CPU的普及,现代计算机系统的性能越来越强大。在这样的环境下,如何更好地利用计算机系统的性能优势,提高程序的运行效率,是每一个Java开发者需要思考的问题。Java中提供了多线程编程的支持,但是在多线程编程中,线程的创建、启动、调度等都需要耗费一定的......
  • 递归,进程fork(),以及线程clone()之间的比较
    在计算机科学中,处理复杂任务的常见方法有递归、进程(通过fork创建),以及线程(通过clone创建)。这三种方式各有其独特的优势和适用场景。在本文中,我们将深入比较这三种方法,并展示它们在解决迷宫路径搜索问题时的不同实现方式,帮助开发者理解它们的异同,并根据不同的应用场景选择......
  • Qt线程使用方法三:QtConcurrent::run
    在Qt中,QFuture和QtConcurrent模块提供了一种简便的方式来执行并行任务。QFuture用于接收异步操作的结果,而QtConcurrent提供了一些函数来启动异步操作。这种方法不需要直接使用QThread,而是通过高级API来管理线程池和任务。 步骤 1: 包含必要的头文件 首先,确保你的项目文件(如......