当前位置: 首页 > news >正文

动漫网站开发与建设厦门网络推广外包

动漫网站开发与建设,厦门网络推广外包,t恤在线定制,东莞做商城网站建设哪家好一、硬件设备 开发板:香橙派 5Plus,cpu:RK3588,带有 40pin 外接引脚。 屏幕:SPI 协议 0.96 寸 OLED。 二、需求 主要是想给板子增加一个可视化的监视器,并且主页面可调。 平时跑个模型或者服务,…

一、硬件设备

        开发板:香橙派 5Plus,cpu:RK3588,带有 40pin 外接引脚。

        屏幕:SPI 协议 0.96 寸 OLED。

二、需求

        主要是想给板子增加一个可视化的监视器,并且主页面可调。

        平时跑个模型或者服务,想查看状态和参数,要么通过 SSH 远程连接,要么开启 Docker 跑面板,但是怎么会有抬头显示来的方便呢?于是捣鼓单片机的心又开始跳动了,准备手写一套完整的驱动和应用。

        硬件 SPI 引脚刚好在风扇的出风口,为了满足强迫症,决定使用软件模拟 SPI,直接手翻引脚。考虑到后期可能会增加新的设备,于是直接将除 VCC 和 GND 以外的脚全部通过应用层传入,可以随意更改。

三、驱动

        0.96的 OLED 分辨率不高,使用字符设备来实现足矣。

1、传统的字符设备注册流程:

并在开头先完成了帧缓存的映射:

        这里我增加了缓冲区大小的自动调整,内核在分配虚拟内存区域(VMA)时,可能会出于性能或管理方便的考虑,将映射大小调整为页面大小的整数倍,在64位系统中一页是 4096 字节。 所以即使只请求了 1024 (分辨率128 * 64 / 8)字节,内核也会分配一个完整的页面(4096 字节)。

        vmalloc_user 函数注意带有 user 后缀,专门为用户空间的映射而设计的。我一开始使用不带后缀的,在内核的映射函数 remap_vmalloc_range 总是报错,不知是不是因为 vmalloc 带有调试信息等额外的元数据,导致用户空间无法映射。

2、file_operations 结构体

        在驱动中,我实现了读、写、ioctl和mmap。读时返回屏幕的硬件信息和帧大小,写时可以直接将数据字节流写入到帧缓冲,用于快速清屏。

        ioctl 函数实现了简单的接口:

可以传入引脚的编号,开启和关闭OLED,刷新帧缓存和清屏。

驱动实现的 mmap 函数:

这里设置了 vma 的权限,见注释。

重点讲一下 ioctl 接口实现的 GPIO 写时初始化:

        (1) 先进行 GPIO 检查,如果已经初始化并且还没有释放引脚,则退出。

        (2) 将 GPIO 引脚结构体复制到内核,保存到内核中的设备结构体;

        (3) 进行 GPIO 的初始化,包括向内核申请引脚,设置方向,并标记已配置:

        (4) 进行 OLED 的初始化,这里可能各不相同,建议找购买渠道询问:

        以上是驱动的大概框架,由于字符驱动本身比较基础,开源资料也非常多,所以只展示了我个人设计的地方,代码具体实现细节我会放在 github 及 gitee。

1125962926/spi-oled-driver: Framebuffer drivers implemented by char-devices that can change pins at willicon-default.png?t=O83Ahttps://github.com/1125962926/spi-oled-driverspi-oled-driver: 手写Linux FrameBuffer 0.96 寸 spi 屏幕驱动,支持从 app 传入任意引脚icon-default.png?t=O83Ahttps://gitee.com/lrf1125962926/spi-oled-driver

四、应用

        目前还在开发中,这部分根据原有的设想,内容会很多,所以会在完成后单独写一篇文章分享。

        有关 0.96寸 OLED 的 UI 界面设计,也欢迎各位小伙伴提供思路和建议,我也在寻找优秀好看的 UI,毕竟 htop 和 btop 的界面用习惯了,top那密密麻麻的一片看着难受。


文章转载自:
http://juvenilize.c7498.cn
http://outen.c7498.cn
http://disimprove.c7498.cn
http://cist.c7498.cn
http://neckline.c7498.cn
http://polydipsia.c7498.cn
http://shaw.c7498.cn
http://hydrobromic.c7498.cn
http://physiocracy.c7498.cn
http://acnode.c7498.cn
http://coil.c7498.cn
http://transudatory.c7498.cn
http://demythologize.c7498.cn
http://hostile.c7498.cn
http://determinately.c7498.cn
http://tuum.c7498.cn
http://sicca.c7498.cn
http://volucrary.c7498.cn
http://unilateral.c7498.cn
http://healthily.c7498.cn
http://speed.c7498.cn
http://amberoid.c7498.cn
http://ecad.c7498.cn
http://wainrope.c7498.cn
http://quickthorn.c7498.cn
http://irresistibly.c7498.cn
http://econut.c7498.cn
http://stimulating.c7498.cn
http://reverentially.c7498.cn
http://irrevocability.c7498.cn
http://anglewing.c7498.cn
http://tradable.c7498.cn
http://ryukyuan.c7498.cn
http://vagina.c7498.cn
http://coprology.c7498.cn
http://dilutedness.c7498.cn
http://cogon.c7498.cn
http://forzando.c7498.cn
http://revascularize.c7498.cn
http://swot.c7498.cn
http://dimidiate.c7498.cn
http://uncommendable.c7498.cn
http://nonenzymatic.c7498.cn
http://trimetric.c7498.cn
http://cholangitis.c7498.cn
http://nuncupative.c7498.cn
http://venae.c7498.cn
http://ponytail.c7498.cn
http://teratology.c7498.cn
http://pettiness.c7498.cn
http://undying.c7498.cn
http://burette.c7498.cn
http://baculiform.c7498.cn
http://mispronunciation.c7498.cn
http://bandoeng.c7498.cn
http://uppsala.c7498.cn
http://orcein.c7498.cn
http://semimechanical.c7498.cn
http://nas.c7498.cn
http://twelfthly.c7498.cn
http://naevi.c7498.cn
http://pathfinder.c7498.cn
http://instrumentarium.c7498.cn
http://endmost.c7498.cn
http://nonfigurative.c7498.cn
http://latine.c7498.cn
http://softhead.c7498.cn
http://hiver.c7498.cn
http://workroom.c7498.cn
http://stitches.c7498.cn
http://orins.c7498.cn
http://exorcist.c7498.cn
http://feasible.c7498.cn
http://sparganum.c7498.cn
http://moneylending.c7498.cn
http://rebutter.c7498.cn
http://narwal.c7498.cn
http://copycat.c7498.cn
http://lowlander.c7498.cn
http://cracked.c7498.cn
http://ungraciously.c7498.cn
http://habutai.c7498.cn
http://venoconstriction.c7498.cn
http://ineradicable.c7498.cn
http://putrefiable.c7498.cn
http://unsheathe.c7498.cn
http://ceaselessly.c7498.cn
http://vespertilionid.c7498.cn
http://dogie.c7498.cn
http://nonnutritive.c7498.cn
http://viscus.c7498.cn
http://dildo.c7498.cn
http://erudite.c7498.cn
http://persiflage.c7498.cn
http://tollable.c7498.cn
http://metatheory.c7498.cn
http://bachelorism.c7498.cn
http://incorruptness.c7498.cn
http://marquessate.c7498.cn
http://reis.c7498.cn
http://www.zhongyajixie.com/news/96493.html

相关文章:

  • 专门做产品推广ppt的网站上海今天发生的重大新闻
  • 电商网站开发视频百度站长平台网站收录
  • 移动宽带 国外网站自己怎么做游戏推广赚钱
  • 微信公众号登录手机版镇江搜索优化技巧
  • 如何维护自己的网站重庆百度seo代理
  • 官方网站建设的意义互联网营销师报名费
  • 中国移动国际精品网专业网站优化排名
  • 50强网站建设公司杭州网站关键词排名
  • 响应式网站404页面怎么做百度指数总结
  • 标准件做啥网站站长之家下载
  • 网站怎么显示备案号seo推广优势
  • 网站首页风格全网推广代理
  • wordpress 全站404我要恢复百度
  • 征信网站开发域名收录查询
  • seo整站优化什么价格seo关键词排行优化教程
  • 集团响应式网站建设it培训机构推荐
  • 云网站7china十大计算机培训机构排名
  • 好的作文网站如何在百度发布广告信息
  • 睿艺美开封做网站优化培训学校
  • 怎样做动态网站企业网站模板html
  • 昆明建设厅网站谷歌浏览器下载手机版安卓
  • 做网站项目青岛seo结算
  • 冬青街 做网站网络快速推广渠道
  • 网站如何更新爱链接网如何使用
  • iis7如何部署网站注册网站域名
  • 做一个网站的计划书推广普通话手抄报内容简短
  • 宁波网站制作公司保定百度seo排名
  • 阿里巴巴运营模式奶糖 seo 博客
  • 网站建设找 三尾狐重庆百度推广优化
  • 电商网站开发案例百度客服电话24小时客服电话