《嵌入式系统基础与实践》教学课件—11-从模块到项目.pptxVIP

《嵌入式系统基础与实践》教学课件—11-从模块到项目.pptx

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11 章 从模块到项目 STM32 本章知识与能力要求 理解项目与模块的关系; 理解从模块到项目的设计思想; 掌握由模块构成项目的方法。 项目是由两个或两个以上的功能模块组成的系统,是功能模块的有机融合。 工作原理:处理输入事件,经微处理器加工处理,产生结果并输出。 其输入事件往往来自传感器、按键或触屏等外围设备,处理后,输出信号用于驱动电机等执行机构或显示。 第11章 从模块到项目 第11章 从模块到项目 目 录 11.1 从模块到项目 11.2 项目实践 11.3 面向对象的编程思想 11.1 如何从模块到项目 11.1.1 项目需求分析 11.1.2 系统总体架构设计 11.1.3 系统软硬件设计 11.1.1 项目需求分析 对综合项目进行需求分析,明晰功能,明确一个系统/项目的输入输出,弄清楚项目/系统的应用范围或详细的规格要求。 这一阶段思考得越详细、考虑得越深入,对后期的开发就越有利。 硬件实现成本高,但执行效率高; 软件实现开发难度大,但成本低, 采用自顶向下、逐步细分为功能相对独立的模块化设计,会使得程序框架更为清晰。 软件和硬件的划分 系统功能模块的划分 11.1.2 系统总体架构设计 对系统进行功能模块划分、软件和硬件划分。 硬件模块如电源模块、通信模块、存储模块、显示模块等 多以具体功能进行划分,功能模块之间应满足低偶合、高内聚的要求 应用功能模块 高内聚:一个C文件中函数,只有相互之间的调用,而不存在调用其它文件中函数的情况 实现硬件的初始化操作,通常使用相应硬件名称命名,如LED硬件驱动模块定义为led.c 一种硬件对应一个硬件驱动模块 低耦合:模块与模块之间应相对独立,模块与模块之间的接口应尽量少而简单。 11.1.2 系统总体架构设计 一个嵌入式系统通常包括两大类模块 硬件驱动模块 11.1.2 系统总体架构设计 嵌入式系统应遵循的编程原则 11.1.2 系统总体架构设计 嵌入式系统应遵循的编程原则 1. 每一个功能模块都由源文件.c和头文件.h组成 .c源文件是每个功能模块具体功能的实现。 .h头文件是对该模块接口的声明,对外提供接口供外部程序调用, 2.每一个.c源文件都对应一个同名的.h头文件 把相对独立的功能放在.c源文件中用代码实现,把需要对外使用的函数或变量声明放在对应的.h头文件中供其它模块使用。 3.使用头文件共享函数、变量 将某模块提供给其它模块调用的函数、变量在对应模块的.h头文件中用extern关键字声明,而模块内的函数和全局变量应在.c文件开头部分用static关键字声明。 11.1.2 系统总体架构设计 嵌入式系统应遵循的编程原则 4.使用头文件共享宏及类型定义 针对复杂的系统,由于模块较多,涉及到的文件多,模块间全局变量也较多,可以将全局变量定义在一个.h头文件内 例如:将寄存器的位操作及常用的数据类型用typedef定义在头文件中,方便以后调用以及移植修改。 #ifndef __SYS_H #define __SYS_H #include stm32f10x.h #include stdio.h //位操作宏定义 #define BIT0 (0x0001) #define BIT1 (0x0002) … … #define BIT30 (0 #define BIT31 (0 11.1.2 系统总体架构设计 嵌入式系统应遵循的编程原则 4.使用头文件共享宏及类型定义 //常用的数据类型定义,采用宏定义方式,便于移植和更改 #define u8 uint8_t #define u16 uint16_t #define u32 uint32_t #define s8 int8_t #define s16 int16_t #define s32 int32_t #define bool _Bool #define false 0 #define true !false //结构体定义 typedef struct { unsigned short b0:1; unsigned short b1:1; … … unsigned short b15:1; }REG16_TypeDef; /*位带操作,实现51类似的GPIO控制功能*/ //IO口宏定义操作 #define PAout ((volatile REG16_TypeDef *)GPIOA_ODR_Addr) //输出 #de

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档