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

做网站优化选阿里巴巴还是百度建行贵金属

做网站优化选阿里巴巴还是百度,建行贵金属,网站怎么找回密码,涿州市建设局网站网址是多少以串口接口为例介绍关于BSP底层架构开发的迭代过程 文章目录 以串口接口为例介绍关于BSP底层架构开发的迭代过程架构概述初代BSP二代BSP:三代BSP:四代BSP:架构概述 单片机开发有四个阶段: 阶段一:单一单片机的功能实现阶段 此阶段你开始熟悉STM32F1系列的单片机,并利用…以串口接口为例介绍关于BSP底层架构开发的迭代过程 文章目录 以串口接口为例介绍关于BSP底层架构开发的迭代过程架构概述初代BSP二代BSP:三代BSP:四代BSP: 架构概述 单片机开发有四个阶段: 阶段一:单一单片机的功能实现阶段 此阶段你开始熟悉STM32F1系列的单片机,并利用其完成相应的功能,比如点了个灯,通过串口发了个”STM32F103 Hello World“,你完成了第一个工程,将其命名为STM32F103_Hello. 此阶段不考虑单片机的移植性,只管实现功能,你可以在一个main函数写上几千行的代码,当你觉得一个main函数的代码太长不好维护时,即开始进入阶段二: 阶段二:单一单片机的模块化实现阶段 此阶段你已经会使用STM32F1系列单片机的各种不同外设,并打算将外设代码进行模块化。 此阶段不考虑单片机的移植性,但需要考虑代码的复用性,你将main函数的几千行代码拆分成一个个的模块,模块间的调用完全随性而为,低内聚,高耦合的代码随处可见,改动一个模块会影响太多其他模块,当你觉得需要对模块进行解耦,以实现标准化模块间的复用时,你就开始进入阶段三: 阶段三:同一厂商不同系列单片机的应用层模块复用实现阶段 此阶段你实现了代码模块化,会通过接口间的数据实现松散耦合调用 此阶段你可以通过调用以前写好的应用层模块,来满足更换同一厂商的不同单片机时,只需改动少量代码的需求,然而对于大量硬件传感器等外设,不可能做到模块复用,因为传感器的模块太过依赖于底层接口的实现,你要初始化它的引脚,就得调用它的时钟使能接口方法,调用它的gpio库初始化方法,要点个灯,就得调用它的gpio拉高拉低方法,而这些接口在同一厂商的不通系列单片机中,居然都会不一致。于是你不能忍,决定自己开发一个接口更加标准化的库。 阶段四:不用厂商不同系列单片机的分层架构实现阶段 此阶段你完成了BSP-SYSTEM-HARDWARE-APP四层架构,各个层次分工明确。BSP负责外设驱动初始化,配置,调用引脚电平拉高拉低等,SYSTEM负责系统精确延时,及时间片的轮询处理,HARDWARE负责调用BSP的统一接口,实现各个传感器或硬件的初始化及数据收发,APP包含各种通信协议处理及控制逻辑处理,不同单片机通过加入不同的BSP,而SYSTEM-HARDWARE-APP都可以做到不变。 类似的,我们的BSP底层架构开发也经历了若干版本。 初代BSP 最初的版本只限于单个单片机使用,底层和应用层完全没有隔离,经常可见在main函数里操作GPIO库函数的情况,这种架构模式的好处是开发简单,不用考虑复杂的移植性,因此耦合度过高,同厂商不同内核的单片机移植,都会改动大量代码。 初版的串口驱动接口是这个样的: void USART_driverInit(USART_TypeDef* USARTx, uint32_t baudRate, uint8_t preemptionPriority, uint8_t subPriority);void USART_sendByte(USART_TypeDef* USARTx, uint8_t byte); void USART_sendMsg(USART_TypeDef* USARTx, uint8_t *sendBuf, uint32_t len);void USART1_dmaTxIsr(void); void USART2_dmaTxIsr(void); void USART3_dmaTxIsr(void); void UART4_dmaTxIsr(void);void USART1_recvIsr(void); void USART2_recvIsr(void); void USART3_recvIsr(void); void UART4_RecvIsr(void); 假设某个应用层要引用它,就必须得包含USART_TypeDef*这个定义的文件,如果不同的厂商串口结构定义不是这个怎么办。 在迭代中我们想到用USART_t给USART_TypeDef*取别名 typedef USART_TypeDef* USART_t;随着gpio口和dma操作的增加,这种取别名的方式,也不能解决问题,有些结构体内部的成员名都不相同。 于是,我们对BSP架构进行了升级,使其可以兼容更多单片机甚至国产化的单片机。 二代BSP: 方法是建立BSP-SYSTEM-HARDWARE-APP四层架构。 其中不同系列的单片机使用不同BSP框架,保留相同命令的接口,SYSTEM-HARDWARE-APP如果需要调用这个接口,只需要引用XXX系列单片机目录下的BSP头文件。 这个版本的串口驱动接口是这个样的: typedef USART_TypeDef* USART_Type_t; typedef struct USART_Struct* USART_t; typedef struct USART_Struct {USART_Type_t usart;uint32_t baudRate; uint8_t priority;uint8_t subPriority;uint16_t parity;uint16_t stopBits;uint16_t wordLength;uint32_t RS485Delay;USART_Config_t config; USART_Transport_t *send;USART_Transport_t *receive;uint32_t timeout;uint32_t linkCount;bool isRS485Connected;void (*USART_TypeInit)(USART_t USART);void (*USART_SendByte)(USART_t USART, uint8_t byte);void (
http://www.hkea.cn/news/14366414/

相关文章:

  • 苏州网站建设自学公司加盟代理
  • 怎么仿制别人的网站公司网站建设代理
  • 为什么我网站打不开增城电子商务网站建设
  • 番禺建设网站公司网站建设的趋势
  • 临海网站开发公司官网网页制作
  • 团购网站营销方案亚马逊备案网站建设
  • 襄阳网站设计制作公司天津市建设执业资格注册中心网站
  • 网站建设音乐代码哪些是asp网站
  • 网页设计素材网站集怎么做网站优化排名到前面
  • 做机器设备的网站广州网站制作哪家全面
  • 龙岩市建设部网站养育成本
  • 庆阳网站设计 贝壳下拉医院网站站群建设方案
  • 为什么要做网站首页设计广州市建设企业网站平台
  • 赣州新闻联播今天回放北京seo网络优化招聘网
  • 贵州省建设项目验收备案网站顺德制作网站价格多少
  • 网站生成软件广东省 网站建站
  • 怎样提高网站权重ppt做的模板下载网站有哪些
  • 重视企业网站什么类型网站
  • 拓网手机版网站管理系统昆明平台网站开发
  • 网站总体设计方案网站管理系统排行榜
  • 黄冈建设局网站微信营销微网站建设
  • 南阳网站建设制作价格域名注册流程及费用
  • 南宁网站建设教学网站建设一般预付比例多少
  • 建设网站查证书百度官方网站
  • wap网站现在还有什么用大连提高网站排名
  • 电脑做系统网站国内特效网站
  • 重庆市城乡建设施工安全管理总站网站常州知名网站公司
  • 电子商务网站的建设与规划书外贸网络营销服务
  • 网站建设购买数据库的流程cms网站开发教程
  • 网站建设的基本步奏记事本做网站