贵阳地区,专业定制网站的专家是谁?

摘要:贵阳网站定制,专业做网站的人,php网站开发演讲稿,汽车类网站目录 前言 环境介绍 代码与动机 架构设计,优缺点 博客系列指引 前言 笔者前段时间花费了一周,整理了一下自从TM16
贵阳网站定制,专业做网站的人,php网站开发演讲稿,汽车类网站目录 前言 环境介绍 代码与动机 架构设计#xff0c;优缺点 博客系列指引 前言 笔者前段时间花费了一周#xff0c;整理了一下自从TM1637开始打算的#xff0c;使用OLED来搭建一个通用的显示库的一个工程。笔者的OLED库已经开源到Github上了#xff0c;地址在#xf…目录 前言 环境介绍 代码与动机 架构设计优缺点 博客系列指引 前言 笔者前段时间花费了一周整理了一下自从TM1637开始打算的使用OLED来搭建一个通用的显示库的一个工程。笔者的OLED库已经开源到Github上了地址在MCU_Libs/OLED at main · Charliechen114514/MCU_Libs (github.com) 框架目前的最终目的是设计一个丝滑的带有动画和图标的动态多级菜单。笔者会尽可能详细的介绍自己的设计思路供大家参考。 环境介绍 首先笔者惯用的是PlatformIO作为嵌入式开发的IDECubeMx作为方便的代码生成器辅助笔者进行快速的工作。各位可能更多使用的是CubeIDE或者是MDK5关于这个笔者会尽可能详细的阐述一些可能异于平台操作的操作。这里需要各位自行动手做更改 代码与动机 关于江科大的OLED代码和以KeysKing作为代码的优秀的嵌入式工程师的代码笔者早就有所拜读这些代码更多的是出于一种“可用的”而不是可复用的代码风格上笔者更青睐于KeysKing大佬的代码风格。但是笔者在移植的时候出现了一些困扰导致最终失败。笔者随后决定基于KeysKing的思路使用江科大的代码作为参考使用Linux设备代码抽象的架构与面对对象C重新设计一套完整的OLED框架全面的支持软硬件IIC和软硬件SPI。支持参数不同大小不同的OLED作为显示。这也是笔者的一次大型的C语言工程训练。新手上路多多包涵 如果你并不关心如何实现的只是想快速实现如何使用请到MCU_Libs/OLED/library at main · Charliechen114514/MCU_Libs (github.com)中直接拷贝两份代码将所有代码添加进入你的工程如果您有确定的OLED协议请自行适当裁剪笔者的代码极低耦合可以直接删除不需要的代码 如果你关心的是如何实现的这就是笔者写这个系列博客的目的。 架构设计优缺点 简单的讲分为协议层使用何种协议进行通信设备层这个设备可以做什么图像层可以使用设备绘制哪一些图像组件层可以使用图像绘制哪一些组件层层递进保证互相之间互不干扰。 优点我说了低耦合高内聚笔者添加支持SSD1309的代码从头到尾只是修改了两行代码 添加一行修正X 2跑起来了整个框架。其他的代码笔者丝毫未动。 缺点就是老生常谈的效率问题。整个事情需要良好的抽象。尽可能大的变量复用确保敏感部分的函数跳转尽可能少对OLED的特性尽可能熟悉对自己的要求很高。 看看效果 如下的演示视频是硬件SPI 2.42寸的SSD1309 OLED演示。 演示视频 博客系列指引 本博客是一个Title性质的和Guide性质的博客系列文章如下所示可自行翻阅。 总览 协议层封装 OLED设备封装 绘图设备抽象 基础图形库封装 基础组件实现 动态菜单组件实现