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

网站服务器地址怎么查wordpress下载整站源码

网站服务器地址怎么查,wordpress下载整站源码,相亲网站怎么做,河南网站搭建以串口接口为例介绍关于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/14423899/

相关文章:

  • 广州网站平台怎么做wordpress 默认头像 本地
  • 怎么建设网站怎么样四海网络网站建设
  • 可以做宣传海报的网站学校网站建设解决方案
  • 深圳创意网站设计广东的网站建设案例
  • 建设网站开发的语言有哪些wordpress博客下载插件
  • 电子商务网站开发 当当网深圳展览公司排行
  • 怎样在手机上建设网站保定网站建设与seo
  • 外贸网站推广方式百度热门关键词
  • 金融网站源码下载 网站样板
  • 专业公司网站制作公司优秀设计案例作品
  • 网站建设周期计划有什么做设计接任务的网站
  • 变更网站怎么做wordpress epix v1.2
  • 重庆网站建设沛宣简单软件开发工具
  • 网站正在建设页面南京手机网站设计专业
  • 网站建设相关资料文件如何查看网站是否降权
  • 建设网站的叫什么职位哪里去找做的好看的网站
  • 建设网站的申请信用卡分期付款网站建设手机端是什么意思
  • 南通网站定制西部数码网站备案查询
  • 重庆建设集团官方网站湖南长沙房价2022最新价格
  • 永州做网站免费送的广告怎么在网站上做
  • 网页游戏新游戏谷歌seo最好的公司
  • 有数据库的网站网站添加白名单
  • 镇江网站建设建设城市2的游戏在哪个网站
  • 贵州 做企业网站的流程wordpress 响应式 框架
  • 知名做网站费用海南建设培训网站
  • 电商网站网址个人网站如何被百度收录
  • 建设银行网站在哪里修改支付密码360永久免费建网站
  • 网站的功能和特色wordpress七牛w3tc加速
  • 创建网站的ip地址怎么获得长沙seo优化多少钱
  • 深圳外贸网站怎么建免费软件有哪些