标签目录:摩登3注册登录网

摩登3新闻554258:_华为桌面一体机曝光:四种形态 超薄设计

企查查APP显示,华为技术有限公司于12月25日授权公开了四项“桌面一体机”专利信息。 专利公开号分别为CN306249026S、CN306249027S、CN306249028S、CN306249030S。 四向专利对应了四种桌面一体机的形态,全部超薄设计。专利介绍中称,这些外观设计产品用于视频会议与信息交互等功能。 本外观设计产品的设计要点:在于形状。有的采用45度弯角底座,有的采用支架设计,有的则是直上直下的底座。 这些一体机的散热孔位置也不一样,有的在背部,有的在侧面。 当然,这些只是华为申请的专利,实机到底采用哪种设计方案还要看华为的最终拍板,大家觉得哪款好看呢? 前不久,华为面向企业用户发布首款商用台式机MateStation B515,搭载AMD锐龙处理器,8GB+1TB、8GB+256GB两个版本,售价分别为4498元、4598元。 其最大的特色是支持华为多屏协同功能,配套键盘内置了NFC,支持手机电脑一碰即连。手机贴到Shift区域,即可把手机屏幕镜像到显示器上,支持双向拖拽,文件互传。 END 来源:快科技 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3登录网站_常见加密算法DES、AES和RSA的原理和特点

编排 | strongerHuang 微信公众号 | 嵌入式专栏 今天主要总结下常用的对称性加密算法DES和AES,非对称性加密算法RSA。 1 DES加密算法 1.DES含义 DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。 DES是对称性加密里常见的一种,是一种使用秘钥加密的块算法。秘钥长度是64位(bit), 超过位数秘钥被忽略。所谓对称性加密,加密和解密秘钥相同。对称性加密一般会按照固定长度,把待加密字符串分成块。不足一整块或者刚好最后有特殊填充字符。 常见的填充模式有:’pkcs5’、’pkcs7’、’iso10126’、’ansix923’、’zero’ 类型,包括DES-ECB、DES-CBC、DES-CTR、DES-OFB、DES-CFB。 2. DES算法原理 DES算法的入口参数:Key、Data、Mode。 Key为8个字节共64位,是DES算法的工作秘钥; Data也为8个字节64位,是要被加密或解密的数据; Mode为DES的工作方式,有两种:加密或解密。 3.DES加密原理 DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。 使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。 4.DES算法特点 分组比较短、秘钥太短、密码生命周期短、运算速度较慢。  2 AES加密算法 1.AES含义 AES,高级加密标准,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。 严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度:AES的区块长度固定为128 比特,密钥长度则可以是128,192或256比特; 而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256比特为上限。包括AES-ECB,AES-CBC,AES-CTR,AES-OFB,AES-CFB。 2.AES加密原理 AES加密过程涉及到4种操作,分别是字节替代、行移位、列混淆和轮密钥加。解密过程分别为对应的逆操作。由于每一步操作都是可逆的,按照相反的顺序进行解密即可恢复明文。加解密中每轮的密钥分别由初始密钥扩展得到。算法中16个字节的明文、密文和轮密钥都以一个4×4的矩阵表示。 3.AES算法特点 运算速度快,安全性高,资源消耗少  3 RSA加密算法 1.RAS含义 RSA加密算法是一种非对称加密算法,这种算法非常可靠,密钥越长,它就越难破解。根据已经披露的文献,目前被破解的最长RSA密钥是768个二进制位。 也就是说,长度超过768位的密钥,还无法破解(至少没人公开宣布)。因此可以认为,1024位的RSA密钥基本安全,2048位的密钥极其安全。 2.RAS算法原理 在了解RAS算法原理之前,先了解一下非对称加密的过程: 非对称加密是通过两个密钥(公钥-私钥)来实现对数据的加密和解密的。公钥用于加密,私钥用于解密。对于非对称的加密和解密为什么可以使用不同的密钥来进行,这些都是数学上的问题了。不同的非对称加密算法也会应用到不同的数学知识。接下来就来看看RSA算法是怎么来对数据进行加密的。 下面是RAS算法的加密算法流程图: 3.RAS算法特点 不需要进行密钥传递,提高了安全性 可以进行数字签名认证 加密解密效率不高,一般只适用于处理小量数据(如:密钥) 容易遭受小指数攻击 常见的几种加密算法先总结到这,如果大家对加密的具体过程感兴趣的话,可以自己上网了解更多算法知识~ 免责声明: 本文部分素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。 ———— 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3平台登录_深入浅出!二叉树详解,还包含C代码

【导读】:树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。在面试环节中,二叉树也是必考的模块。本文主要讲二叉树操作的相关知识,梳理面试常考的内容。请大家跟随小编一起来复习吧。 本篇针对面试中常见的二叉树操作作个总结: 前序遍历,中序遍历,后序遍历; 层次遍历; 求树的结点数; 求树的叶子数; 求树的深度; 求二叉树第k层的结点个数; 判断两棵二叉树是否结构相同; 求二叉树的镜像; 求两个结点的最低公共祖先结点; 求任意两结点距离; 找出二叉树中某个结点的所有祖先结点; 不使用递归和栈遍历二叉树; 二叉树前序中序推后序; 判断二叉树是不是完全二叉树; 判断是否是二叉查找树的后序遍历结果; 给定一个二叉查找树中的结点,找出在中序遍历下它的后继和前驱; 二分查找树转化为排序的循环双链表; 有序链表转化为平衡的二分查找树; 判断是否是二叉查找树。 1 前序遍历,中序遍历,后序遍历; 1.1 前序遍历 对于当前结点,先输出该结点,然后输出它的左孩子,最后输出它的右孩子。以上图为例,递归的过程如下: 输出 1,接着左孩子; 输出 2,接着左孩子; 输出 4,左孩子为空,再接着右孩子; 输出 6,左孩子为空,再接着右孩子; 输出 7,左右孩子都为空,此时 2 的左子树全部输出,2 的右子树为空,此时 1 的左子树全部输出,接着 1 的右子树; 输出 3,接着左孩子; 输出 5,左右孩子为空,此时 3 的左子树全部输出,3 的右子树为空,至此 1 的右子树全部输出,结束。 而非递归版本只是利用 stack 模拟上述过程而已,递归的过程也就是出入栈的过程。 /* 前序遍历递归版 */void PreOrderRec(Node * node){    if (node == nullptr)        return;    cout << node->data << " ";   // 先输出当前结点       PreOrderRec(node->left);     // 然后输出左孩子    PreOrderRec(node->right);    // 最后输出右孩子}/* 前序遍历非递归版 */void PreOrderNonRec(Node * node){    if (node == nullptr)        return;    stack  S;     cout << node->data <<  " ";     S.push(node);     node = node->left;      while (!S.empty() || node)     {          while (node)         {             cout << node->data <<  " "; // 先输出当前结点               S.push(node);             node = node->left;         // 然后输出左孩子         }                              //  while 结束意味着左孩子已经全部输出         node = S.top()->right;         // 最后输出右孩子         S.pop();     } } 1.2 中序遍历 对于当前结点,先输出它的左孩子,然后输出该结点,最后输出它的右孩子。以(1.1)图为例: 1–>2–>4,4 的左孩子为空,输出 4,接着右孩子; 6 的左孩子为空,输出 6,接着右孩子; 7 的左孩子为空,输出 7,右孩子也为空,此时 2 的左子树全部输出,输出 2,2 的右孩子为空,此时 1 的左子树全部输出,输出 1,接着 1 的右孩子; 3–>5,5 左孩子为空,输出 5,右孩子也为空,此时 3 的左子树全部输出,而 3 的右孩子为空,至此 1 的右子树全部输出,结束。 /* 中序遍历递归版 */void InOrderRec(Node * node){    if (node == nullptr)        return;    InOrderRec(node->left);     // 先输出左孩子    cout << node->data << " ";  // 然后输出当前结点    InOrderRec(node->right);    // 最后输出右孩子}/* 前序遍历非递归版 */void InOrderNonRec(Node * node){    if (node == nullptr)        return;    stack  S;     S.push(node);     node = node->left;      while (!S.empty() || node)     {          while (node)         {             S.push(node);             node = node->left;         }                             // …

摩登3注册网站_Sourceability:助推国内半导体供应链数字化转型

“在这个时代,数字化一切和数字化转型是大势所趋,所有行业,包括供应链在内,要么数字化,要么被淘汰。” 11月6日,在ASPENCORE举办的“全球分销与供应链领袖峰会”上,Sourceability亚太区执行总经理王震旻向业界传达了对电子行业数字化供应链的独到见解。 (Sourceability:国内行业数字化现状) 未来的供应链以数字化为特征,传统供应链需要数字化转型,期间整个产业可能要耗费五年、十年、甚至二十年的时间。2020年全球新冠疫情的爆发,“非接触式经济”被推到了空前的热度。在中国电子产业内,有一些新的变化和机遇值得关注。 数字化转型在中国发展得非常快。王震旻引用了国家工业信息安全发展研究中心今年的数据,该数据显示,目前中国已经有11%的企业成为了数字化转型的领导者,而这个数字在2018年的时候还只有7%,这意味着在过去几年里,成功进行数字化转型的企业数量已经超过了50%。“这个速度未来还会更快。”王震旻表示。 一般企业在数字化转型时,会有六大重要方向:第一,提升全业务全流程数据透明;第二,营销与销售全渠道数字化;第三,巩固和提升企业供应链韧性;第四,打造“未来系统”更新IT适应性;第五,以柔性组织发挥数字化人才能力;第六,培育务实创新、敏捷创新能力。 王震旻表示,针对元器件供应链的数字化,需要大家把聚焦放在提升业务流程透明度、企业供应链韧性和未来IT适应性上。与此同时,Sourceability将在中国市场推动电子产业供应链的信息透明化。 (Sourceability王震旻在ASPENCORE颁奖礼演讲) Sourceability成立于2015年,是一家德资背景、分支机构遍布全球的技术公司。其旨在通过可靠的元器件供应数据和技术支持,满足产品设计和工程的采购需求;通过一整套具有前瞻性的数字产品和服务,支持电子行业供应链。Sourceability全球的研发团队超过70人,主要为欧美市场提供供应链数字化支持。 当前,Sourceability主要服务于欧美大型OEM、EMS终端客户。它可提供2600多家可追溯合作全球供应商,其中包括原厂、分销商、代理商等;同时还拥有超过5.5亿个物料的产品供应数据,替代产品信息、合规信息、产品生命周期信息与数据表;另外,也可通过API技术支持和企业ERP进行对接,实现实时访问产品供应数据。

摩登三1960_英威腾又双叒叕参展啦!

第二届中国(华南)国际机器人与自动化展览会是中国国际工业博览会在华南地区以机器人与自动化相关技术和装备为核心精心打造的专业展,包括英威腾在内的上百家展商将落地“华南工业展览之都”广东东莞。英威腾将携众多系统解决方案和产品参展,更有新品首次亮相。 展会信息 名称:中国(华南)国际机器人与自动化展 览会时间:2020年12月2—4日 地点:广东现代国际展览中心(东莞) 英威腾展位号:3号馆C3086 此次展会,英威腾将展出面向行业应用的智能制造系统解决方案,其中包含纺织行业的喷射织机电控系统、印包行业的单包机系统集成方案、压缩机行业的无油水润滑螺杆空压机方案等。 另外还将展出空气悬浮鼓风机、LED固晶机、高速平面口罩机、工业物联网、木工封边机、高速单线切割机、锂电池压力化成机等系统解决方案。 解决方案抢先看 1、折叠机系统集成方案 以英威腾控制器+伺服+变频器+触摸屏为核心的自动抽纸折叠机生产线控制系统应用方案,系统反应迅速,同步性能优异,生产速度大幅度提升。 2、织机永磁同步电机直驱系统 该系统主要用于驱动喷水、喷气织机主轴,采用高能效永磁同步直驱电机及GD350-12系列专用变频驱动器,电机转子直接安装在织机主轴端、定子安装在织机机架上,省去了原电磁刹车盘、异步电机安装底板及皮带轮,实现真正直驱方案。 3、椭圆形丝网印花机系统解决方案 该系统方案采用AX系列控制器与DA系列伺服系统搭配,有效缩减高速模式下印刷轴的刹车距离,运用电子齿轮运动控制功能实现转送轴同步,启动过程平稳且停止位置精准。另有定制化云服务,能够实现程序优化更新、生产实时跟踪监控等远程控制功能。 4、木工封边机系统解决方案 采用VS系列10寸彩色触摸屏,丰富界面,增强了人机交互;使用编码器替换行程开关的方案,提升定位控制精度,节省成本和调试工时;全套采用英威腾产品系列,具有极高的性价比;整机速度达25m/min,生产效率大大提升。 新品亮相 欲知更多英威腾系统解决方案和产品,欢迎您莅临展会现场。

摩登3平台登录_探索Teledyne e2v的最新ADC概念,可实现P到Ka波段直接采样

法国格勒诺布尔 – Media OutReach – 2020年11月24日 – Teledyne e2v不断创新、致力于高分辨混合信号解决方案,进一步彰显其致力于革新射频系统的承诺。该公司已成功演示了其工程团队目前正在测试的下一代数据转换器技术。 该12位EV12PS640是Teledyne e2v最近发布的微波数模转换器(DAC)设备EV12DD700的补充,代表着模数转换器(ADC)发展的新里程碑。这一开创性的模数转换器概念证明能够提供超出目前市场上任何产品范围的性能参数,支持11G采样率,可实现超高频(SHF)直接采样,并一直延伸到Ka频段(26GHz及以上)。EV12PS640将提供非常宽的动态范围。 该公司已准备好EV12PS640微波模数转换器和 EV12DD700数模转换器的视频演示,可在此处查看:EV12PS640微波模数转换器演示及EV12DD700数模转换器演示。 直接微波采样有许多好处。首先,它消除了对频率转换的需求,这意味着将大大降低信号失真的风险。其次,它提供软件定义通用性,贯穿多个频段,最高可达Ka频段。这表示系统更容易针对不同的应用场景进行优化,同时也为系统提供了一个动态配置的平台。通过直接微波采样方法,可以显著简化数据转换硬件。Teledyne e2v首次推出50欧姆单端输入(用于时钟和模拟输入),从而压制了对巴伦的需求,减少物料清单和相关不动产,这样就更容易与射频系统对接(射频系统通常在50欧姆特性阻抗下运作)。 基于此,直接微波采样逐渐证明其在有限功率预算下或空间受限系统中,或在一些某些程度配置要求的场所具有极大的优势。现在,通过直接采样到Ka波段频率,Teledyne e2v必定能够应对广泛的高端射频应用。因此,EV12PS640将对航空电子、军事、航天以及测试和测量领域的未来射频架构至关重要。

摩登3新闻554258:_PCB线路设计制作百句术语大全!

作为一个电子工程师设计电路是一项必备的硬功夫,但是原理设计再完美,如果电路板设计不合理,性能将大打折扣,严重时甚至不能正常工作。下面小编为大家整理了104条PCB线路设计制作术语合集,希望能提升你的工作效率! 1、Annular Ring 孔环 指绕接通孔壁外平贴在板面上的铜环而言。在内层板上此孔环常以十字桥与外面大地相连,且更常当成线路的端点或过站。在外层板上除了当成线路的过站之外,也可当成零件脚插焊用的焊垫。与此字同义的尚有 Pad(配圈)、 Land (独立点)等。 2、Artwork 底片在电路板工业中,此字常指的是黑白底片而言。至于棕色的“偶氮片”(Diazo Film)则另用 Phototool 以名之。PCB 所用的底片可分为“原始底片”Master Artwork 以及翻照后的“工作底片”Working Artwork 等。 3、Basic Grid 基本方格指电路板在设计时,其导体布局定位所着落的纵横格子。早期的格距为 100 mil,目前由于细线密线的盛行,基本格距已再缩小到 50 mil。 4、Blind Via Hole 盲导孔指复杂的多层板中,部份导通孔因只需某几层之互连,故刻意不完全钻透,若其中有一孔口是连接在外层板的孔环上,这种如杯状死胡同的特殊孔,称之为“盲孔”(Blind Hole)。 5、Block Diagram 电路系统块图将组装板及所需的各种零组件,在设计图上以正方形或长方形的空框加以框出, 且用各种电性符号,对其各框的关系逐一联络,使组成有系统的架构图。 6、Bomb Sight 弹标原指轰炸机投弹的瞄准幕。PCB 在底片制作时,为对准起见也在各角落设置这种上下两层对准用的靶标,其更精确之正式名称应叫做Photographers’ Target。 7、Break-away panel 可断开板指许多面积较小的电路板,为了在下游装配线上的插件、放件、焊接等作业的方便起见,在 PCB 制程中,特将之并合在一个大板上,以进行各种加工。完工时再以跳刀方式,在各独立小板之间进行局部切外形(Routing)断开,但却保留足够强度的数枚“连片”(Tie Bar 或Break-away Tab),且在连片与板边间再连钻几个小孔;或上下各切 V 形槽口,以利组装制程完毕后,还能将各板折断分开。这种小板子联合组装方式,将来会愈来愈多,IC卡即是一例。 8、Buried Via Hole 埋导孔指多层板之局部导通孔,当其埋在多层板内部层间成为“内通孔”,且未与外层板“连通”者,称为埋导孔或简称埋孔。 9、Bus Bar 汇电杆多指电镀槽上的阴极或阳极杆本身,或其连接之电缆而言。另在“制程中”的电路板,其金手指外缘接近板边处,原有一条连通用的导线(镀金操作时须被遮盖),再另以一小窄片(皆为节省金量故需尽量减小其面积)与各手指相连,此种导电用的连线亦称 Bus Bar。而在各单独手指与 Bus Bar 相连之小片则称Shooting Bar。在板子完成切外形时,二者都会一并切掉。 10、CAD电脑辅助设计Computer Aided Design,是利用特殊软体及硬体,对电路板以数位化进行布局(Layout),并以光学绘图机将数位资料转制成原始底片。此种 CAD对电路板的制前工程,远比人工方式更为精确及方便。 11、Center-to-Center Spacing 中心间距指板面上任何两导体其中心到中心的标示距离(Nominal Distance)而言。若连续排列的各导体,而各自宽度及间距又都相同时(如金手指的排列),则此“中心到中心的间距”又称为节距(Pitch)。 12、Clearance 余地、余隙、空环指多层板之各内层上,若不欲其导体面与通孔之孔壁连通时,则可将通孔周围的铜箔蚀掉而形成空环,特称为“空环”。又外层板面上所印的绿漆与各孔环之间的距离也称为 Clearance 。不过由于目前板面线路密度愈渐提高,使得这种绿漆原有的余地也被紧逼到几近于无了。 13、Component Hole 零件孔指板子上零件脚插装的通孔,这种脚孔的孔径平均在 40 mil 左右。现在SMT盛行之后,大孔径的插孔已逐渐减少,只剩下少数连接器的金针孔还需要插焊,其余多数 SMD 零件都已改采表面粘装了。 14、Component Side 组件面早期在电路板全采通孔插装的时代,零件一定是要装在板子的正面,故又称其正面为“组件面”。板子的反面因只供波焊的锡波通过,故又称为“焊锡面”(Soldering Side) 。目前 SMT 的板类两面都要粘装零件,故已无所谓“组件面“或“焊锡面”了,只能称为正面或反面。通常正面会印有该电子机器的制造厂商名称,而电路板制造厂的 UL 代字与生产日期,则可加在板子的反面。 15、Conductor Spacing 导体间距指电路板面的某一导体,自其边缘到另一最近导体的边缘,其间所涵盖绝缘底材面的跨距,即谓之导体间距,或俗称为间距。又,Conductor 是电路板上各种形式金属导体的泛称。 16、Contact Area 接触电阻在电路板上是专指金手指与连接器之接触点,当电流通过时所呈现的电阻之谓。为了减少金属表面氧化物的生成,通常阳性的金手指部份,及连接器的阴性卡夹子皆需镀以金属,以抑抵其“接载电阻”的发生。其他电器品的插头挤入插座中,或导针与其接座间也都有接触电阻存在。 17、Corner Mark 板角标记电路板底片上,常在四个角落处留下特殊的标记做为板子的实际边界。若将此等标记的内缘连线,即为完工板轮廓外围(Contour)的界线。 18、Counterboring 定深扩孔,埋头孔电路板可用螺丝锁紧固定在机器中,这种匹配的非导通孔(NPTH),其孔口须做可容纳螺帽的“扩孔”,使整个螺丝能沉入埋入板面内,以减少在外表所造成的妨碍。 19、Crosshatching 十字交叉区电路板面上某些大面积导体区,为了与板面及绿漆之间都得到更好的附着力起见,常将感部份铜面转掉,而留下多条纵横交叉的十字线,如网球拍的结构一样,如此将可化解掉大面积铜箔,因热膨胀而存在的浮离危机。其蚀刻所得十字图形称为 Crosshatch,而这种改善的做法则称为 Crosshatching。 20、Countersinking 锥型扩孔,喇叭孔是另一种锁紧用的螺丝孔,多用在木工家俱上,较少出现精密电子工业中。 21、Crossection Area 截面积电路板上线路截面积的大小,会直接影响其载流能力,故设计时即应首先列入见,常将感部份铜面转掉,而留下多条纵横交叉的十字线,如网球拍的结构一样,如此将可化解掉大面积铜箔,因热膨胀而存在的浮离危机。其蚀刻所得十字图形称为 Crosshatch,而这种改善的做法则称为 Crosshatching。 22、Current-Carrying Capability 载流能力指板子上的导线,在指定的情况下能够连续通过最大的电流强度(安培),而尚不致引起电路板在电性及机械性质上的劣化 (Degradation),此最大电流的安培数,即为该线路的“载流能力”。 23、Datum Reference 基准参考在…

摩登3官网注册_自己动手撸个简单的LCD驱动框架吧!

今天看到大佬肖遥兄分享的一篇文章:【架构篇】嵌入式编程中如何给代码的结构分层提到了高内聚,低耦合,软件分层等等的概念。之前又有小伙伴在后台留言说让我分享一篇这样的文章,所以今天它来了! 废话不多说,理论讲太多没啥感觉,这些条条框框本质就是基于面对对象的设计模式相关的一些理论,设计模式就是前人实践多了发现一些规律然后总结出来的那么一套好用的框架,所以咱们直接出干货,硬肝!以小熊派上的SPI OLED驱动为例,将原来开发包里的LCD驱动做一些简单的改造,然后我们根据需求设计如下的驱动模型框架,分为模型、驱动、设备三个部分,我们先不考虑太细节的东西,也不会把这个东西一开始就做得特别复杂,这样不利于理解,于是我们构建如下的框架思维导图: 1、LCD驱动框架数据结构 框架提供一些什么能力呢?我是这么来做的,非常简单: 这里提供了将驱动框架与驱动进行对接的能力,&lcd_driver拿到的是定义在驱动文件里的一个已经赋值了的结构体lcd_driver,这样,当我在别的地方定义一个LCD_Driver_Model的变量,就可以将这个变量与驱动结构体进行对接,这样就可以通过这个变量来操作驱动结构体里的接口了。 2、LCD驱动数据结构 LCD驱动这个数据结构要做的事情就是提供操作LCD驱动能力的接口,这个接口的设计与硬件无关。 前面1小节说过,驱动框架依赖于驱动接口,这样的话我们需要实现驱动接口里的方法,在对应的方法里,我们要去调用LCD设备相关的接口,进而去操作LCD设备,以下是接口对应的实现: 3、LCD设备数据结构 LCD设备所需要做的事情就是将这个数据结构里的功能函数与真实的LCD驱动接口进行对接。比如我们看LCD_Init这个接口的实现,这个就是真实调用LCD的真实硬件操作了: 4、使用方法 int main(void){    /* USER CODE BEGIN 1 */    LCD_Driver_Model  lcd_model ;  LCD_Ascii_Show_Para ascii_para[] =    {        {80, 100, 240-80, "RED", BLACK, RED, 32},        {80, 100, 240-80, "GREEN", BLACK, GREEN, 32},        {80, 100, 240-80, "BLUE", BLACK, BLUE, 32},    };  LCD_Fill_Para fill_para[] =   {   {ascii_para[0].x,ascii_para[0].max_width,ascii_para[0].y,ascii_para[0].y+32},   {ascii_para[1].x,ascii_para[1].max_width,ascii_para[1].y,ascii_para[1].y+32},   {ascii_para[2].x,ascii_para[2].max_width,ascii_para[2].y,ascii_para[2].y+32},  } ;    /* USER CODE END 1 */    /* MCU Configuration--------------------------------------------------------*/    /* Reset of all peripherals, Initializes the Flash interface and the Systick. */    HAL_Init();    /* USER CODE BEGIN Init */    /* USER CODE END Init */    /* Configure the system clock */    SystemClock_Config();    /* USER CODE BEGIN SysInit */    /* USER CODE END SysInit */    /* Initialize all configured peripherals */    MX_GPIO_Init();    MX_I2C1_Init();    MX_USART1_UART_Init();    MX_SPI2_Init();    /* USER CODE BEGIN 2 */    /*串口初始化后加这个延时,防止后面的printf打印乱码*/    HAL_Delay(200);    /*注册驱动模型*/    Register_Driver_Model(&lcd_model);    /*调用LCD初始化*/    lcd_model.lcd_driver->lcd_init();    /*调用LCD显示ASCII码字符串*/    lcd_model.lcd_driver->lcd_show_ascii_str(ascii_para[0]);    /* USER CODE END 2 */    /* Infinite loop */    /* USER CODE BEGIN WHILE */    while (1)    {        /* USER CODE END WHILE */        /* USER CODE BEGIN 3 */        /*循环调用LCD显示ASCII码字符串*/        for(int i = 0 ; i < 3 ; i++)        {            lcd_model.lcd_driver->lcd_fill(fill_para[i]);            lcd_model.lcd_driver->lcd_show_ascii_str(ascii_para[i]);            HAL_Delay(100);        }    }    /* USER CODE END 3 */} 这样我们就完成了LCD驱动最简单的分层设计了,当然我们的软件框架后续还需要不断的把它做得更健壮,这样以后随便一个LCD,我们都可以设计一套类似这样的固定模板,根据实际的业务需求,定义设计合适的接口,以后但凡换一个项目还是用同一个LCD的话就非常简单了! 5、思考 前面我开源了一个基于TencentOS tiny的气体探测仪项目,你是否能在那个项目上继续进行优化改善呢? 本节代码已同步到码云的代码仓库中,获取方法如下: 1、新建一个文件夹 项目开源仓库: https://gitee.com/morixinguan/bear-pi.git 这里我给大家申请到了福利,本公众号读者购买小熊派开发板可享受9折优惠,有需要购买小熊派以及腾讯物联网开发板的朋友,淘宝搜索即可,跟客服说你是公众号: 的粉丝,立享9折优惠! 软技能:人人皆可成为卓越的领导! 嵌入式软件解决ADC电量显示问题经验分享 一口气搞懂「文件系统」,就靠这 25 张图了 做了这么久的技术自媒体,杨工,您有什么感想要分享的吗? 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

华为官方宣布:新机nova8 SE将于11月5日在线上发布

11月3日,华为官方宣布:新机nova8 SE将于11月5日在线上发布。,除了nova8 SE,华为nova8系列另外2款机型(nova8和nova8 Pro)也将于本月发布。另外,这两款机型或将采用120Hz高刷新率屏幕,成为华为nova系列首款高刷屏手机。 很快,有数码博主曝光了这款手机的真机图。可以看到,华为nova8 SE后置方形矩阵四摄,四角圆润,边框平直,且保留了实体按键。配色方面,这次曝光的nova8 SE真机有蓝、白两种配色。 综合此前爆料,华为nova8 SE搭载联发科天玑800U芯片;内置3800mAh电池,支持66W华为超级快充;后置6400万像素超清四摄像头,前置1600万像素摄像头;配备6.53英寸OLED真彩屏,采用水滴屏设计,支持屏幕指纹解锁;厚度为7.46mm,重量为178g,至少提供蓝、白两种配色。