华为FusionInsight HD 2.7 技术白皮书.pdf
华为FusionInsight HD 2.7 技术白皮书,详细介绍了华为版Hadoop的各个组件功能。华为FusionInsight是华为企业级大数据存储、查询、分析的统一平台。华为 Fusionlnsight hd27技术白皮书日录目录1简介…1.1 Fusionlnsight hD概述1.2 FusionInsight HD组件介绍.2重点组件介绍52.集群管理 Manager622分布式文件系统HDFS23统一资源管理和调度框架YARN24分布式批处理引擎 Mapreduce.25分布式数据库 HBase2.6数据仓库组件Hive27分布式内存计算引擎 Spark28全文检索组件Solr.29批量数据集成 Loader( Scoop)….122.10实时数据采集 Flume142.11流式事件处理( Storn)…2.11.1 Storm2.11.2 StreamCQL…2.11.3 Flink2.12分布式高速缓存 Redis2.|3分布式消息队列 Kafka2.14作业编排与调度 Oozie...........212.15数据继承入凵Hue文档版本01(2017-07-30)华为专有和保密信息版权所有c华为技术有限公司华为 Fusionlnsight hd27技术白皮书1简介简介1.1 FusionInsight HD概述1.2 FusionInsight hD组件介绍文档版本01(2017-07-30)华为专有和保密信息版权所有c华为技术有限公司华为 FusionInsight hd27技术白皮书1简介11 FusionInsight hD概述FusionInsight是华为仝业级大数据存储、查询、分析的统一平台,能够帮助全业快速构建海量数据信息处理系统,通过对巨量信恳数据实吋与非实时的分析挖掘,发现全新价值点和企业商机应用层REST API数据服务明细影像推荐/伪控关系轨迹Data世像ServiceREST API/SQL/SDKloaderMe知认FormerManager数据分析Data Farm数据集成信数据挖识、服务框智慧配置管理性能管理告警管理数据处理发全管理DataoS hadoop Spark2 STORM(Flink LibrA租户管理灾备管理FusionInsigh解决方案由5个子产品 FusionInsight hD、 Fusioninsight libra、FusionInsight miner、 FusionInsight Farmer和1个操作运维系统 FusionInsight manager构成FusionInsight HD:企业级的大数据处理环境,是一个分布式数据处理系统,对外提供大容量的数据存储、分析查询和实时流式数据处理分析能力。usionInsight HD包括 Zookeeper、 Hadoop、 HBase、 Loader、 HBase、Hive、Hue、 Oozie、 Phoenix、Solr、 Redis、 Spark、 Streaming、 Kafka、E、 Flink等组件。FusionInsight miner:个业级的数据分析平台,基于华为 FusionInsight hd的分布式存储和并行计算技术,提供从海量数据中挖掘出价值信息的平台。FusionInsight Farmer:企业级的大数据应用容器,为企业业务提供统一开发、运行和管埋的平台。Fusionlnsight Manager:企业级大数据的操作运维提供,提供高可靠、安全、容错、易用的集群管理能力,支持大规模集群的安装部署、监控、告警、用户管理、权限管理、审计、服务管理、健康检査、问题定位、升级和补丁等功能FusionInsight librA:企业级的MPP关系型数据库,基于列存储和MPP架构,是为面向结构化数据分析而设计开发的,能够有效处理PB级别的数据量。 FusionInsightLibrA在核心技术上跟传统数据库有巨大差别,可以解决很多行业用户的数据处理性能问题,可以为超大规模数据管理提供高性价比的通用计算平台,并可用于支撑各类数据仓库系统、BⅠ( Business intelligence)系统和决策支持系统,统一为上层应用的决策分析等提供服务。文档版本01(2017-07-30)华为专有和保密信息版权所有c华为技术有限公司华为 FusionInsight hd27技术白皮书1简介12 FusionInsight hD组件介绍数招外析数据集成菜群理款据挖握数据挖掘处理Mahout(on MRMI I ib(on Spark)ahx款什理作业调应DSL领域描述语U。2e枇处互询KV面流式杏诈HiveparksQLRedisStreamcQL批量分市式计算引Loade故障管卫七处理流处理附件处理MapReduceFlinkstorm实时采性能管理分布式资源管Y消思队列安仝售翅Kalka分布式存储雪NOSQL数招库按素引≤QL行惴格式租户管理上传下载FtnonHDFSOROPalyueLCai bun De莫分布式文件系统备份曾理HDFSFusionInsight hd需要对廾源组件进行封裝和增强,对外提供稳定的大容量的数据存储、查询和分析能力。各自组件提供功能如下Manager:作为运维系统,为 I FusionInsight hD提供高可靠、安全、容错、易用的集群管理能力,支持大规模集群的安装/级/补丁、配置管理、监控管理、告警管理、用户管理、租户管理等。HDFS: Hadoop分布式文件系统( Hadoop Distributed File System),提供高吞吐量的数据访问,适合大规模数据集方面的应用。HBase:提供海量数据存储功能,是一种构建在HDFS之上的分布式、面向列的存储系统。Oozie:提供了对开源 Hadoop组件的任务编排、执行的功能。以 Java Web应用程序的形式运行在 Java servlet容器(如: Tomcat)中,并使用数据库来存储工作流定义、当前运行的工作流实例(含实例的状态和变量)。Zookeeper:提供分布式、高可用性的协调服务能力。帮助系统遷免单点故障,从而建立可靠的应用程序Redis:提供基于内存的高性能分布式KV缓存系统。Yarn: Hadoop2.0中的資源管理系统,它是一个通用的资源模块,可以为各类应用程序进行资源管理和调度。Mapreduce:提供快速并行处理大量数据的能力,是一种分布式数据处理模式和执行环境。Spark:基于内存进行计算的分布式计算架Hive:建立在 Hadoop基础上的井源的数据仓库,提供类似SQL的HⅤeQL语言操作结构化数据存储服务和基本的数据分析服务。Loader:基 J Apache Scoop实巩 FusionInsight hD与关系型数据库、p/sp文件服务器之间数据批量导入导出工具:同时提供 Java api/ shell!务调度接口,供第三方调度平台调用。●Hue:提供了开源 Hadoop绀件的 WebUI,可以通过浏览器操作HDFS的目录和文件,调用 Oozie米创建、监控和编排工作流,可操作 Loader组件,査看Zo< eeper集群情况。文档版本01(2017-07-30)华为专有和保密信息版权所有c华为技术有限公司华为 FusionInsight hd27技术白皮书1简介Flume:一个分布式、可靠和高可用的海量日志聚合系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Fume提供对数据进行简单处理,并写入各种数据接受方(可定制)的能力。●Solr:一个髙性能,基于 Lucene的全文检索服务器。Solr对 Lucene进行了扩展,提供比 Lucene更为肀富的查询语言,同时实现」可配置、可扩展,并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文检索引擎Kafka:一个分布式的、分区的、多副本的实时消息发布-订阅系统。提供可护展、扃吞吐、低延迟、高可靠的消息分发服务Storm:一个分布式、可靠、容错的实时流式数据处理的系统,并提供类SQLtreaInCQL)的查询语言Fink:分布式的、高可用的、能保证 Exactly Once语义的针对流数据和批数据的处理引擎SparkSQL:基于 Spark引擎的高性能SQL引擎,可与Hive实现元数据共享。Mahaut:提供基于 Mapreduce的数据挖掘算法库MLLib:提供基于 Spark的数据挖掘算法库phx:提供基于 Spark的图处理算法库文档版本01(2017-07-30)华为专有和保密信息版权所有c华为技术有限公司华为 Fusionlnsight hd27技术白皮书2重点组件介绍2重点组件介绍21集群管理 Manager22分布式文件系统HDFS2.3统一资源管理和调度框架YARN24分布式批处理引擎 MapReduce2.5分布式数据库 HBase2.6数据仓库组件Hive27分布式内存计算引擎 Spark28全文检索组件Solr2.9批量数据集成 Loader( Scoop)210实时数据采集 Flume2.ll流式事件处理( Storm)212分布式高速缓存 Redis213分布式消息队列 Kafka2.14作业编排与调度 Oozie2.15数据继承入口Hue文档版本01(2017-07-30)华为专有和保密信息版权所有c华为技术有限公司华为 Fusionlnsight hd27技术白皮书2重点组件介绍21集群管理 ManagerManager是 FusionInsight H的运维管理系统,为部署在集群内的服务提供统一的集群管理能力。 Manager支持大规模集群的安裝部署、性能监控、告警、用户管理、权限管理、审计、服务管理、健康检査、日志采集、升级和补丁等功能图2-1 Manager逻辑架构w已妇UP SereIAMCEPPMS匚就动aLdapOM M AgentNode AgentNTP ClerDHTLFusionInsight ManagerFusionInsight Manager由OMS和 NodeAgent组成:●OMS:操作维护系统的管理节点,OMS·般有两个,互为主备。NodeAgen:操作维护系统中的所有被管理节点,每个节点上一个。表2-1业务模块说明模块名称描述Web Service是一个部署在 Tomcat下的web服务,提供 Manager的htts:接口,用于通过浏览器访问 Manager。同时还提供基于 Syslog和SNMP协议的北向接入能力ControllerManager的控制中心,负责汇聚来自集群中所有节点的信息,统一问管理员展示,以及负责接收来自管理员的操作指令,并且依据操作指令所影响的范围,向集群的所有相关节点同步信息nodeAgent存在于每一个集群节点,是 Controller对部署在该节点上组件做切操作的代理。代表本节点上部署的所有组件与 Controller交互,实现整个集群多点到单点的汇聚IAM负责记录审计日志。在 Manager的U上每一个非查询类操作,都有对应的审计日志文档版本01(2017-07-30)华为专有和保密信息版权所有c华为技术有限公司华为 Fusionlnsight hd27技术白皮书2重点组件介绍模块名称描述PMS性能监控模块,搜集每一个OMA上的性能监控数据并提供査询CEP汇聚功能模块。比如将所有OMA上的磁盘已用空间汇总成一个性能指标FMS告警模块,搜集每一个OMA上的告警并提供查询OMMAgent各节点上面性能监控和告警的Agen,负责收集该 Agent Node上的性能监控数据和告警数据CAS统一认证中心,登录 Web service时需要在CAS进行脊录认证,浏览器通过URL自动跳转访问CASAOS权限管理模块,管理用户和用户组的权限OMS Kerberos提供单点登录及 Controller与 Nodc agent间认证的功能OMS Ldap在集群安装前为用广认证提供数据仔储,在集群安装后作为集群中Ldap的备份DatabaseManager的数据库,负责存储配置、监控、告警等信息NTP负责集群内部各节点与OMS节点之向的时钟同步和OMS节点与外部时钟源之间的时钟同步。22分布式文件系统HDFSHDFS是 Hadoop的分布式文件系统,实现大规模数据叮靠的分布式读写。HDFS针对的使用场景是数据读写具有“一次写,多次读”的特征,而数据“写”操作是顺序写,也就是在文件创建时的写入或者在现有文件之后的添加操作。HDHS保证一个文件在个时刻只被一个调用者执行写操作,而可以被多个调用者执行读操作。图2-2分布式文件系统HDFSHDFS ArchitectureMetadata(Name, re)Metadata. opsNamenode/home/foo/data. 3Black opsRead DatanodesDatanodesReplicationBlocksRack 1WriteRack 2文档版本01(2017-07-30)华为专有和保密信息版权所有c华为技术有限公司
- 2020-12-07下载
- 积分:1
一天入门STM32
一天入门STM32 pdfC秉火《零死角玩转STM32》一F1系列时钟源To T钟电路FR和RAMROM定时/计数5系统总线又CPU并行Io口串行Io口中断系统P0p1P2 P3 TXD RXD I。I:图151系统结构框图我们说的51一般是指51系列的单片机,型号有很多,常见的有STC89C51、AT89S51,其中国内用的最多的是STC89C51/2,下面我们就以STC89C51来讲解,并以51简称。内核51由一个IP核和片上外设组成,IP核就是上图中的CPU,片上外设就是上图中的:时钟电路、SFR和RAM、ROM、定时/计数器、并行IO口、串行IO口、中断系统。IP核跟外设之间由系统总线连接,且是8bit的,速度有限51内核是上个世纪70年代 intel公司设计的,速度只有12M,外设是IC丿商(STC)在内核的基础上添加的,不同的IC厂商会在内核上添加不同的外设,从而设计出各具特色的单片机。这里 intel属于PP核厂商,STC属于IC厂商。我们后面要讲的STM32世样,ARM属于P核厂商,ARM给ST授权,ST公司在 Cortex-M3内核的基础上设计出STM32单片机。外设我们在学习51的时候,关于内核部分接触的比较少,使用的最多的是片上外设,我们在编程的时候操作的也就是这些外设。第3页共53页C秉火《零死角玩转STM32》一F1系列编程的时候操作的寄存器位于SFR和RAM这个部分,其中SFR(特殊功能寄存器)占有128字节(实际上只用了26个字节,只有26个寄存器,其他都属于保留区),RAM占有128字节,我们在程序中定义的变量就是放在RAM中。其中SFR和RAM在地址上是重合的,都是在80-FF这个地址区间,但在物理区间上是分开的,所以51的RAM是有256个字节编写好的程序是烧写到ROM区。剩下的外设都是我们非常熟悉的IO口,串∏、定时器、中断这几个外设STM32系统结构STM32系统结构框图接PashDCodeCortexM3SystemSFAMDMATDMAFSMCSDIO通道1套通道2AHB系线线桥接2桥接1APB 1APB2复位和时钟通道7控制DC2PIOD PWR SP1129DMA请求ADCsGFIOE BKPUSART1 GPioF bxCAN WDGSPlGPOG USETIM1RICExTIt2C2TIM2DMA212C1TIEUARTS TIM5GPc日UART& TIM4AHTa通道1USaRT TIM2通通通5AA请求图2STM32系统结构框图内核在系统结构上,STM32和51都属于单片机,都是由内核和片上外设组成。只是STM32使用的 Cortex-M3内核比51复杂得多,优秀得多,支持的外设也比51多得多,同时总线宽度也上升到32bit,无论速度、功耗、外设都强与51。第4页共53页C秉火《零死角玩转STM32》一F1系列从结构框图上看,对比5内核只有一种总线,取指和取数共用。 Cortex-M3内部有若干个总线接∏,以使CM3能同时取址和访内(访问内存),它们是:指令存储区总线(两条)、系统总线、私有外设总线。有两条代码存储区总线负责对代码存储区(即 FLASH外设)的访问,分别是 I-Code总线和 D-Code总线。I-Code用于取指, D-Code用于查表等操作,它们按最佳执行速度进行优化。系统总线( System)用J访问内存和外设,覆盖的区域包括SRAM,片上外设,片外RAM,片夕扩展设备,以及系统级存储区的部分空间。私有外设总线负责一部分私有外设的访问,主要就是访问调试组件。它们也在系统级存储区。还有一个MDA总线,从字面上看,DMA是 data memory access的意思,是一种连接内核和外设的桥梁,它可以访问外设、内存,传输不受CPU的控制,并且是双向通信。简而言之,这个家伙就是一个速度很快的且不受老大控制的数据般运工,这个在51里面是没有的外设从结构框图上看,STM32比51的外设多得多,51有的串口、定时器、O口等外设STM32都有。STM32还多了很多特色外设:如FSMC、SDIO、SPI、2C等,这些外设按照速度的不同,分别挂载到AHB、APB2、APB1这三条总线上。小结从内核和外设这两大方面米比较,SIM32之于51就是一个升级版的单片机。它适应市场,引流淛流,在中低端的微控制器中流光溢彩。12学习方法的区别学习51用寄存器,学习STM32用库。以前我们在学习51的时候,用的是寄存器编程的方法,想要实现什么效果,直接往寄存器里面赋值,优点是直观,简单粗暴,知道自己具体干了啥,心里踏实直接操作寄存器之所以在51上可行,究其原因,我想有两点:1、51主频不高,资源有限,必须注重程序执行的效率,只能直接操作寄存器。关键的地方还得用汇编,不适合用同件库。第5页共53页C秉火《零死角玩转STM32》一F1系列要知道当初我们学习51单片机的时候用的还是汇编,连现在的C编程都不是,就更别说什么斥函数编程2、51功能简单,寄存器不多。以国内普及最广的STC89C52为例,寄存器仝部加起来不到30个。按照功能区分来记的话,可以把每个寄存器背的滚瓜烂熟,并且寄存器每一位的功能都可以记得住,在编程的时候做到了然于胸。现在从51过度到STM32的学习,很多人还是喜欢沿用51的学习方法。接受不了库,在学习库的时候陷入迷糊之中,来回几个月下来,都不知道到底有没学会STM32,因为在这一路的学习中都是在调用库函数,压根就没有操作过寄存器,心里面很不踏实。其实大家在调用库函数的时候心中难道就没有疑问,库的底层是怎么实现的?难道就没有勇气对庥的底层探究竟。可最后当我们丌始跟踪斥函数底层的时候,看到·堆的宏定义、结构体、指针、各种的文件包含,而且注释全部都是荚文的,是不是乂心生忌惮。鉴于此,我想用两个原因来总结下很多初学者畏惧库不愿意用库的原因。1、C语言知识点的欠缺库在实现寄存器映像时使用的宏定义,强制类型转换,在定义寄存器时使用的结构体,在外设初始化函数时使用的指针,在组织头文件时使用的条件编译等C语言知识,在大学课程中很少涉及,大多数老师也基本是不讲。在一些简单的51单片机编程中又很少会用到这些知识。学单片机,做嵌入式开发其实80%的工作都跟C语言编程相关,剩下的20%的匚作就是阅读各种数据手册,熟悉各和硬件外设。所以掌握这些基本的C语言知识,是嵌入式学习中一道迈不过去的坎,STM32的库则给」我们一次提升C的机会凡是可以从书本中找到的,相信我们基本都可以学会,很多初学者并不是不够聪明或者勤奋,只是缺少方向性的指导罢了。对于这欠缺的知识点我们稍微花点时间就可以掌握,剩下的就是不断地实践词试。这里我为大家推荐·本C语言的书籍《C和指针》。2、程序架构设计思想的欠缺这个比较难搞,很多C语言学习得挺好好的人,也比较难掌握。还好我们遇到了SIM32的库,这给了我们一个学习和提升C语言绝佳的机会。库的整个架构是如何搭建起来的,代码上是如何如何一步一步写出来的:从寄存器映像开始,到寄存器的封装,然后到函数的编写,到每个外设函数对应的驱动文件,这里面涉及到了大量的条件编译,文件包含的思想,对应刚写过几行51单片机的初学者来说简直就是噩梦。但是,如果你把这系列的关系弄明自了,那么对库的整个架构也了解的差不多了,以后你就不用嚷嚷着说要操作奇存器了。如果你一开始不喜欢用库,对库开发很忌惮,那么请自问:是不是我的C语学得不够好。库是一种全新的学习方法,是一种河流,我更把它看做是与C语言的又一次历练和提升。是否用库,只差你一个闪亮的回眸第6页共53页C秉火《零死角玩转STM32》一F1系列1.3用寄存器点亮LED为了顺利过渡到库开发,在STM32编程的开始,我们对照51点亮一个LED的方法,给大家演示一下STM32如何用操作寄存器的方法点亮一个IFD,然后再慢慢讲解到底什么是库,让大家知道库跟寄存器的关系1.3.1用51点亮一个LED在用STM32点亮一个LED之前,我们先来复习下用5如何点亮一个LED。硬件上我们假设51单片札的P0口的第0位接了一个LED,负逻辑亮。如果我们要点亮这个LED,代码上我们会这么写1P0=0XFF;//总线操作点亮FD这时侯我们就把LED点亮了,如果要关掉LED,则是:1P0=0xFF;//总线操作关闭二ED这里面我们用的是总线操作的方法,即是对P0口的8个1O同时操作,但起作用的只是P0^0除了这种总线操作的方法,我们还学习过位操作,利用51编译器的关键字sbit,我们可以定义个位变量1sbit工E0^0那么LED=0;就点亮了LED,LED=1;就关闭了LED。为了让程序看起来见名知义,我们定义两个宏:1 #define on 02 define OfF 1点亮和关闭LED的代码就变成了:1 LED//位操作点亮IED2 LED= OFF//位操作关闭LD稍微整理下代码,整体的效果就是:1//假设51单片机的P0~0口接TFD,负逻辑点亮3 #define ON 04 definc Ofe 16 sbit lEd poo8 void main(void)第7页共53页C秉火《零死角玩转STM32》一F1系列9{10PO OXFE;/总线操作点亮0=0XE彐//总线操作关闭LED13工ED=ON;//位操作点亮LED14LED=OF彐;/位操作关闭LED15」上血总线和位操作的的方法,学过51的朋友是非常熟悉的,也很容易理解。那么我们再说一下大家容易忽略的几个知识点。什么是寄存器在点亮LED的时候,我们都是用操作寄存器的方法来实现的,那大家是否想过,这个寄存器到底是什么?为什么我们可以直接操作P0口?解答上面的问题之前,我们先简单介绍下51单片机的主要组成部分,这对我们学习其他单片机也有好处。我们以国内的STC89C51为例,该单片机主要由51内核、外设IP、和总线这三人部分组成。内核是由 Intel公司生产的,外设P就是STC公司在内核的基础上添加的诸如定时器、串口、IO凵等这些东西,总线就是用米连接內核和外设的接凵单元。 Intel在这里属于IP核设计公司,STC属」I设计公司。世界上能设计IP核的公司屈指可数。我们非常熟悉的ARM公司就属于IP核设计公司,ARM给其他公司授权,其他IC公司就在ARM内核上设计出各具特色的MCU,我们后面要学习的STM32就是属于一中基于ARM内核的MCU。寄存器则是内置于各个IP外设中,是一种用于配置外设功能的存储器,就是一种内存,并且有想对应的地址。学过C语言我们就知道,要操作这些内存就可以使用C语言中的指针,通过寻址的方式来操作这些具有特殊功能的内存一寄存器。比如P0口对应的地址是0X80,那么我们要修改0X80这个地址对应的内存的内容的话,按照常理可以这样操作1*(+0X80)=0XEE;点亮LED可当我们编译的吋候,编译器会报错,在51里面只能通过SFR和SBIT这两个关键字来实现寄存器映像,不能直接操作寄存器对应的地址,这是51相较于STM32不同的地万51单片机的这些寄存器位于地址80H~HFH中,对应着128个地址,但不是每个地址都是有效的,51系列的单片机有21个,52系列的则有26个,其他的都是保留区第8页共53页C秉火《零死角玩转STM32》一F1系列表2AT89c52SFR映象及复位状态OFBDEFHDFOHo00000DFTHOE8H0D000000DETH00000003DOTHOC8H0000000)XXXXXXODDCFHx00000037HEDAFH0粪0H11111111DATHSCON98H00000002SBUF9FHP1111111197HTCON88H0000000)TMODTLOTL100000000000000000000000000000000000BFHSPDPHPCON80H1DPLco111OXXX0000图351寄存器映射2.寄存器映射实际上我们在编程的吋侯并不是通过指针来操作奇存器的,而是直接给PO、Pl这些端口寄存器赋值。那么这些外设资源是如何与地址建立一一对应的关系(寄存器映射定义),这得益与51特有的两个关键字:SFR和sbit,其但单片机没有,只能用其他的方式来实现寄存器映射。这两个关健字帮我们实现了所有寄存器的定义,所以我们才可以像操作普通变量一个米操作寄存器。其实我们一开始提到的点亮LED的代码,全貌应该是这样的:1 sfr pocx80;//寄存器定义2P0=0ⅩFE;/总线操作点亮LED为了方便起见,我们可以扣奇存器映射全部写好封装在个头文件里面,不用每用个寄存器就定义一次。其实这方面的工作不用我们做,我们在编程的时候都会在开始的地方添加一个头文件1 include 第9页共53页C秉火《零死角玩转STM32》一F1系列这个头文件已经实现了全部寄存器的定义,该文件是kei自带,在安装目录:KeiC5IINC可以找到。这个文件实现了字节寄存器和位寄存器的定义2 REG514 Header file for generic 80C51 and 80C31 microcontroller5 Copyright (c)-988-2002 Keil ELektronik GIbH and Kei- Software, Inc6 All rights reserved.9 +ifdef REG5- H10#define RFG5. H1112/* BYTF, Reci ster *13sfr0=x80;1456PEE2×90sfrCaO;13BO17 sfr PSWRDO18 sfr AccCeO:901strBsExFO;12222x8-;3 sIr PCoN24 sr icon Cx8825 sfr TMOD Cx89:sfr TloxiA2222367890sfr TCx8Bfr TCx8Cifr Ti18D831 sfr t2×B832 sfr sLHHEPCB9833 sfr sbuf993436/* BIT Register37/+PSW*/38 sbit CYOxD39 sbit ACOxD640 sbit Fo41 sbit rs0xD4;43 sbit ov44 sbit P=0×D0;4546/*TCON*/47 sbit TF0x8F;48 sbit TR0x8E;49 sbit TFo0x8D:50 sbit mro0x8C51 sbit IE-= 0x8B;53 sbit Ieo0x894 shit tto08856/+IE57 sbit eA0×AF58 sbit fs0×AC59 sbit er0×AB;60 sbit EX0×AA61 sbit ero0x90×A8第10页共53页
- 2020-12-08下载
- 积分:1