开发板登录返回以及退出设计

news/2024/9/21 20:28:29

IO编程

开发板登录返回以及退出设计

image

/****************************************************************************** file name: 2024-05-14_main.c* author   : tongyaqi1110@163.com* date     : 2024-05-14* function : 在LCD上显示并触摸开发板登录返回以及退出设计* note     : None* CopyRight (c)   2024  tongyaqi1110@163.com   Right Reseverd*****************************************************************************/
下面是“基操”代码打开LCD屏显示图片和动图/视频以及打开触摸屏int main(int argc, char const *argv[])
{// 1.打开LCD   openint lcd_fd = open("/dev/fb0", O_RDWR);// 2.对LCD进行内存映射  mmaplcd_mp = (int *)mmap(NULL, 800 * 480 * 4, PROT_READ | PROT_WRITE, MAP_SHARED, lcd_fd, 0);// 3.显示开机动画char gif_path[128] = {0};for (int i = 0; i < 82; ++i){sprintf(gif_path, "./gif/Frame%d.jpg", i); // 构造jpg图片的路径read_JPEG_file(gif_path, 0, 0);            // 在LCD上显示usleep(1000 * 10);                         // FPS = 50HZ}read_JPEG_file("hzw.jpg", 0, 0);printf("hhh\n");// 1.打开触摸屏int ts_fd = open("/dev/input/event0", O_RDWR);// 2.读取输入设备的信息struct input_event ts_event;// printf("hello\n");  测试用的// int cnt = 0;while (1){read(ts_fd, &ts_event, sizeof(ts_event));// 获取的坐标是等比例缩小过的// 3.分析读取的设备信息 (type + code + value)if (ts_event.type == EV_ABS) // 说明是触摸屏{printf("2\n");if (ts_event.code == ABS_X) // 说明是X轴{// cnt++;x = ts_event.value * 800 / 1024;}if (ts_event.code == ABS_Y) // 说明是Y轴{// cnt++;y = ts_event.value * 480 / 600;}// printf("55\n");  测试用}// printf("d\n");  测试用return 0;}

下面为三个"按钮界面"代码

// 登录按钮if (x > 194 && x < 283 && y > 371 && y < 419){printf("dd\n");read_JPEG_file("bird.jpg", 0, 0);}// 返回按钮else if (x > 674 && x < 768 && y > 22 && y < 70){read_JPEG_file("hzw.jpg", 0, 0);cnt = 0;}// 退出按钮else if (x > 502 && x < 588 && y > 371 && y < 418){// 8.关闭LCDread_JPEG_file("black.jpg", 0, 0);munmap(lcd_mp, 800 * 480 * 4);close(lcd_fd);close(ts_fd);return 0;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/31594.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

机器学习之朴素贝叶斯

朴素贝叶斯是一种基于贝叶斯定理的分类算法,常用于解决文本分类和垃圾邮件过滤等问题。它的"朴素"体现在对每个特征之间的条件独立性的假设,即假设给定目标值的情况下,每个特征都是相互独立的。尽管这个假设在实际问题中并不总是成立,但朴素贝叶斯的简单性和高效…

mBlock Arduino(9)舵机(Servo motor)控制

舵机(Servo motor)英文常简称 Servo,中文也有人称伺服机,由控制电路、齿轮、直流马达等组成,可使用〈mBlock & Arduino(4)利用 PWM 模拟类比讯号〉中谈过的 PWM 技术来控制舵机转动角度,像Plotclock就应用了三个舵机,以手臂在白板上绘制出目前的时间。舵机控制原理…

PPO近端策略优化玩cartpole游戏

这个难度有些大,有两个policy,一个负责更新策略,另一个负责提供数据,实际这两个policy是一个东西,用policy1跑出一组数据给新的policy2训练,然后policy2跑数据给新的policy3训练,,,,直到policy(N-1)跑数据给新的policyN训练,过程感觉和DQN比较像,但是模型是actor…

实验8-tensorboard

VMware虚拟机 Ubuntu20-LTS python3.6 tensorflow1.15.0 keras2.3.1 运行截图:代码: 实验8-1tensorboard可视化import tensorflow as tf#定义命名空间 with tf.name_scope(input):#fetch:就是同时运行多个op的意思input1 = tf.constant(3.0,name=A)#定义名称,会在tensorboa…

实验7-使用TensorFlow完成MNIST手写体识别

VMware虚拟机 Ubuntu20-LTS python3.6 tensorflow1.15.0 keras2.3.1 运行截图:代码:import os os.environ[TF_CPP_MIN_LOG_LEVEL]=2import numpy as np import tensorflow as tf from tensorflow_core.examples.tutorials.mnist import input_data import time #%% #使用tens…

C121 李超树+DP P4655 [CEOI2017] Building Bridges

视频链接:C121 李超树+DP P4655 [CEOI2017] Building Bridges_哔哩哔哩_bilibili Luogu P4655 [CEOI2017] Building Bridges#include <iostream> #include <cstring> #include <algorithm> using namespace std;#define ll long long #define ls u<&l…

实验1-波士顿房价预测

VMware虚拟机 Ubuntu20-LTS python3.6 tensorflow1.15.0 keras2.3.1 运行截图 代码:from sklearn.linear_model import LinearRegression, SGDRegressor, Ridge, LogisticRegression from sklearn.datasets import load_boston from sklearn.model_selection import train_tes…

穿越

题目描述解析 纯搜索,注意不能用 \(dfs\) !!!每次四个方向以及所有传送门,判断 \(rain\) 最早下的时间,判雨;对于兽,如果醒了,等它着再走过去,需要判脚下兽,脚下雨,下一个点的雨。code #include<bits/stdc++.h> #define se second #define fi first using na…