版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行嵌入式嵌入式系统设计系统设计主主 讲:讲: Email: 时时 间:间: 2014年年2月月 明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行嵌入式系统简介嵌入式系统简介1 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行什么什么是是嵌入式嵌入式系统?系统? Embedded system 是是一种一种“完全嵌入受控器件内部,为特完全嵌入受控器件内部,为特定应用而设计的专用计算机系
2、统定应用而设计的专用计算机系统” 与通用计算机能够运行用户选择的软件与通用计算机能够运行用户选择的软件不同,嵌入式系统上的软件通常是暂时不同,嵌入式系统上的软件通常是暂时不变不变的的,所以所以经常称为经常称为“固件固件”。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行思考思考 STC15F2K60S2单片机系统是不是单片机系统是不是嵌入嵌入式系统式系统?明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行什么是什么是嵌入式操作系统嵌入式操作系统 EOS(Embedded Operating
3、System) 用在嵌入式系统中的操作系统用在嵌入式系统中的操作系统 它在硬件和应用程序它在硬件和应用程序之间,通过提供应之间,通过提供应用程序用程序接口,接口,屏蔽屏蔽了硬件了硬件工作的一些细工作的一些细节,节,从而提高从而提高了应用程序的开发了应用程序的开发效率效率明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行嵌入式操作系统的优缺点嵌入式操作系统的优缺点 优点:优点:提高了系统的可靠性提高了系统的可靠性 程序设计和扩展更容易程序设计和扩展更容易应用程序模块化,设计过程大为简化应用程序模块化,设计过程大为简化缩短了产品的开发周期。缩短了
4、产品的开发周期。 缺点:缺点:ROM/RAM开销大开销大25%的的CPU额外负荷额外负荷内核费用较高内核费用较高明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行嵌入式系统热潮嵌入式系统热潮 近年来近年来掀起了嵌入式系统应用掀起了嵌入式系统应用热潮。热潮。 原因:原因:芯片技术快速发展,单芯片处理能力不断芯片技术快速发展,单芯片处理能力不断加强。加强。对产品更新换代要求迫切。对产品更新换代要求迫切。应用领域不断拓展。应用领域不断拓展。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行嵌入式嵌
5、入式系统的应用系统的应用 嵌入式技术有力嵌入式技术有力地促进了工业自动化装地促进了工业自动化装备的备的发展:发展:在在仪器仪表领域,智能化仪表在许多方面仪器仪表领域,智能化仪表在许多方面均应用的是嵌入式技术,如分析仪器、温均应用的是嵌入式技术,如分析仪器、温度仪表、流量仪表等度仪表、流量仪表等。在在工业自动化领域,嵌入式系统则应用在工业自动化领域,嵌入式系统则应用在智能传感器、信号变换单元、现场控制器智能传感器、信号变换单元、现场控制器和嵌入式工控机上和嵌入式工控机上。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行思考思考 嵌入式系统除工
6、业自动化外,还有哪些应嵌入式系统除工业自动化外,还有哪些应用?用?明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行1辆汽车中有很多嵌入式辆汽车中有很多嵌入式系统系统马达马达马达控制器控制器控制器车灯车灯车灯尾灯控制尾灯控制尾灯控制系统系统系统后车门控后车门控后车门控制系统制系统制系统前车门控前车门控前车门控制系统制系统制系统座椅控制座椅控制座椅控制系统系统系统发动器控发动器控发动器控制系统制系统制系统所有的控所有的控所有的控制系统都制系统都制系统都是一个完是一个完是一个完整的嵌入整的嵌入整的嵌入式系统式系统式系统明德明德明德明德明德明德 厚
7、学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行ARM公司和公司和Intel公司公司1 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行ARM公司公司 成立成立于于1990年年11月月 总部在英国剑桥,总部在英国剑桥,CEO是是沃沃伦伦伊斯伊斯特特 主要出售芯片设计技术的主要出售芯片设计技术的授权授权 内核采用内核采用ARM技术授权的技术授权的微处理器微处理器,统,统称为称为ARM 微处理器微处理器明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行ARM内核
8、内核 ARM7,ARM9,ARM10,ARM11 Cortex A系列,系列,M系列,系列,R系列系列 目前使用较多的是:目前使用较多的是:Cortex A9Cortex M3明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行持有持有ARM 授权的公司授权的公司 Atmel、Broadcom、Cirrus Logic、Freescale、Qualcomm、富士通、富士通、英英特尔、特尔、IBM,英飞凌科技,任天堂,恩,英飞凌科技,任天堂,恩智浦智浦半导体、半导体、OKI电气工业,三星电子电气工业,三星电子,Sharp,STM,德州仪器和德州仪
9、器和VLSI等等明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行ARM和和Intel处理器的特点处理器的特点 ARM处理器特点:功耗低处理器特点:功耗低 Intel处理器特点:功能强处理器特点:功能强明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行ARM和和Intel ARM和和Intel牢牢牢牢把控各自把控各自市场,市场, ARM占据手机市场占据手机市场90%以上,以上, Intel占据通用占据通用计算机和服务器市场计算机和服务器市场80%以上。以上。 双双开始相互渗透,双双开始相互渗
10、透, ARM推出推出A15开始开始进军笔记本、平板电脑和服务器市场,进军笔记本、平板电脑和服务器市场,力争力争2015年占据年占据20%市场份额;市场份额;Intel推推出凌动处理器进军出凌动处理器进军手机手机市场市场,虽然炒,虽然炒得得火热火热,应用情况并不理想。,应用情况并不理想。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行嵌入式系统的未来嵌入式系统的未来 产品产品市场翻番的周期狂热到市场翻番的周期狂热到69个月个月。 嵌入式行业已成为当前信息产业中最热嵌入式行业已成为当前信息产业中最热门、最有发展前途的行业之一门、最有发展前途的行
11、业之一,那些,那些掌掌握软硬件开发技能的嵌入式研发工程师握软硬件开发技能的嵌入式研发工程师早已成为众多企业招聘岗位中的早已成为众多企业招聘岗位中的热点。热点。 从就业情况看,目前存在两难:学生学从就业情况看,目前存在两难:学生学成难,企业招聘难。成难,企业招聘难。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行ARM Cortex-M3 内核内核1 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行Cortex M3 Cortex M3的出现,在的出现,在MCU市场上横扫一市场上横扫
12、一片,带来行业地震,引发片,带来行业地震,引发MCU市场统一市场统一狂狂潮。潮。 以处处满溢的先进特性力压以处处满溢的先进特性力压群芳群芳。 1P17明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行Cortex-M3内核内核 Cortex M3 是是MCU的的 中央中央处理单元(处理单元(CPU),完整完整的基于的基于CM3的的MCU还还需要需要很多很多其它组件其它组件。 芯片芯片制造商得到制造商得到CM3内核内核的使用授权后的使用授权后,就可以在,就可以在CM3内核基础上,内核基础上,添加存储添加存储器,外设,器,外设,I/O以及其它功能
13、以及其它功能块,形成自块,形成自己的己的MCU。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行Cortex-M3芯片芯片明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行Cortex-M3的优点的优点 性能性能强劲强劲 功耗低功耗低 实时实时性性好好 成本低成本低 开发工具便宜开发工具便宜 程序开发容易程序开发容易明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行Cortex-M3系列的生产厂商系列的生产厂商 意法半导体(意法半导体(S
14、T) 恩智恩智浦浦 (NXP) 德州仪器德州仪器(TI) 爱特梅尔爱特梅尔(ATMEL) 等等等等明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行STM32系列系列 STM32系列是意法系列是意法半导体(半导体(ST)公司生)公司生产的基于产的基于ARM Cortex内核的系列芯片内核的系列芯片 2010年,年, STM32系列的系列的总总销量为销量为1.44亿片,制约瓶颈为产能。亿片,制约瓶颈为产能。 2011年年, STM32系列系列的产能扩大的产能扩大1倍。倍。 2011,STM32系列芯片的总系列芯片的总销量销量占全部占全部Cort
15、ex-M3内核总销量的内核总销量的45%。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行STM32系列系列3 STM32F0(Cortex-M0) STM32F1 STM32W STM32F2 STM32L STM32F3(Cortex-M4) STM32F4(Cortex-M4)明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行STM32F107VCT61 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行STM32F107VC
16、T6 基于基于Cortex-M3内核内核 命名命名规则见规则见2P3明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行GPIO1 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行GPIO GPIO(General Purpose Input Output) 通用输入输出接口通用输入输出接口明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行GPIO引脚的内部结构引脚的内部结构2明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉
17、毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行思考思考 同同AT89S51相比有什么不同相比有什么不同? 输入输出数据寄存器输入输出数据寄存器 输入的上拉和下拉电阻输入的上拉和下拉电阻 保护二极管保护二极管明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行GPIO的功能的功能 模拟输入模拟输入 浮浮空输入空输入 下拉下拉输入输入 上上拉输入拉输入 开开漏输出漏输出 推挽输出推挽输出 复用复用开漏输出开漏输出 复用推挽输出复用推挽输出 明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行相关相关专
18、用寄存器专用寄存器2 GPIOx_ CRL(配置)(配置) GPIOx_ CRH(配置配置) GPIOx_ IDR(输入数据)(输入数据) GPIOx_ ODR(输出数据)(输出数据) GPIOx_ BSRR(位置位(位置位/位清零)位清零) GPIOx_ BRR(位清零位清零) GPIOx_ LCKR(配置锁定)(配置锁定) RCC_APB2ENR(2P70) 明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行GPIO口的输出口的输出1 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行
19、笃行例题例题 例题:例题: LED(不用库)(不用库) 功能:功能:不用库不用库,在学习板上在学习板上实现实现1个个LED闪烁闪烁。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行硬件电路硬件电路4 供电电路供电电路 晶振电路晶振电路 复位电路复位电路 LED电路电路明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行供电供电 STM32的工作电压的工作电压(VDD)为为2.03.6V 可通过可通过LM1117稳压芯片实现。稳压芯片实现。 课后上网查资料,熟悉课后上网查资料,熟悉LM1117
20、芯片及芯片及其稳压电路。其稳压电路。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行晶振电路晶振电路 内部晶振(精度较差,误差约为内部晶振(精度较差,误差约为2%) 外部晶振(普通晶振误差小于外部晶振(普通晶振误差小于1000ppm,高精度晶振可达,高精度晶振可达10ppm以下)以下)明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行复位电路复位电路 低电平复位(同低电平复位(同AT89S51相反)相反)明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行
21、笃行笃行笃行笃行LED电路电路 限流电阻的选择。限流电阻的选择。 Stm32引脚的驱动能力约为引脚的驱动能力约为8mA。 最好采用最好采用“灌电流灌电流”方式设计。方式设计。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行软件部分软件部分 参考参考6,完成,完成例题的软件部分。例题的软件部分。 下载下载到学习板上,观察运行到学习板上,观察运行结果。结果。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行STM32芯片内部结构简图芯片内部结构简图Cortex-M3外部设备STM32系列COD
22、ESRAM片上外设存储器明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行存储器映射存储器映射1P31明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行STM32F107VCT6 SRAM(64K)0 x2000 0000 0 x2000 FFFF FLASH ROM(256K)0 x0800 0000 0 x0803 FFFF 片上片上外设(散布)外设(散布)0 x4000 0000 0 x5003 FFFF明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行
23、笃行笃行笃行笃行笃行例题软件部分讲解例题软件部分讲解 启动代码启动代码 头文件头文件 书写书写规范规范 特殊功能寄存器特殊功能寄存器明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行思考思考 专用寄存器专用寄存器RCC - APB2ENR的实际地的实际地址是?址是?明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课堂练习课堂练习 实现实现4个个LED同时亮灭。同时亮灭。 实现流水灯功能。实现流水灯功能。 实现实现0-15二进制数显示。二进制数显示。明德明德明德明德明德明德 厚学厚学厚学厚学
24、厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课后作业课后作业 熟悉启动代码(选做)熟悉启动代码(选做) 熟悉熟悉C语言的指针,理解语言的指针,理解例题中涉及的例题中涉及的指针。指针。 熟悉熟悉C语言语言的结构体,的结构体,理解例题理解例题中涉及中涉及的结构体。的结构体。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行使用库使用库1 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行例题例题 例题:例题: LED 功能:利用库功能:利用库,在,在学习板上实现学习板上实现
25、1个个LED的闪烁。的闪烁。 参考参考7,实现例题功能,实现例题功能。 例题讲解例题讲解明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行嵌入式系统设计的层次结构嵌入式系统设计的层次结构 硬件层硬件层 驱动层驱动层 操作系统层操作系统层 应用层应用层明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行硬件层硬件层 指指CPU等外围硬件设备等外围硬件设备 涉及知识涉及知识模拟电子、数字电路模拟电子、数字电路电路图、电路图、PCB图绘制图绘制明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅
26、沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行驱动层驱动层 实现各种硬件设备的驱动,供操作系统实现各种硬件设备的驱动,供操作系统层或应用层使用层或应用层使用 涉及涉及知识知识硬件电路硬件电路C语言语言数据结构数据结构操作系统内核操作系统内核编程规范编程规范各种驱动包的移植各种驱动包的移植明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行操作系统层操作系统层 主要移植和熟悉现成的操作系统主要移植和熟悉现成的操作系统 涉及知识涉及知识嵌入式操作系统原理嵌入式操作系统原理嵌入式嵌入式操作系统移植操作系统移植明德明德明德明德明德明德 厚学厚学厚学厚学
27、厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行应用层应用层 实现具体应用实现具体应用 涉及知识涉及知识C语言语言数据结构数据结构操作系统操作系统编程规范编程规范明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课堂练习课堂练习 实现实现4个个LED同时亮灭。同时亮灭。 实现流水灯功能。实现流水灯功能。 实现实现0-15二进制数显示。二进制数显示。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课堂练习课堂练习 编写基于编写基于stm公司公司v3.5库的库的LED驱动程驱动程序
28、。序。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行GPIO口的输入口的输入1 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课堂课堂练习练习 利用利用MDK最新的库,实现最新的库,实现按键控制按键控制LED显示显示0-15二进制数。二进制数。 要求:编写规范的按键驱动程序。要求:编写规范的按键驱动程序。 按键的硬件连接参考按键的硬件连接参考4。 将将学习学习板上的跳帽板上的跳帽JP02打在打在1-2位置(位置(下面)。下面)。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学
29、 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课堂练习讲解课堂练习讲解 编程规范编程规范明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课后练习课后练习 不用库不用库,实现按键控制,实现按键控制LED显示显示0-15二二进制数进制数。 利用最新库利用最新库,实现外部中断控制实现外部中断控制LED显显示示0-15二进制数。二进制数。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行CMSIS1 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行
30、笃行笃行笃行笃行CMSIS CMSIS:Cortex Microcontroller Software Interface Standard ARM 微微控制器软件接口控制器软件接口标准标准 是是ARM公司与多家不同的芯片和软件供公司与多家不同的芯片和软件供应商一起紧密合作定义的,提供了内核应商一起紧密合作定义的,提供了内核与外设、实时操作系统和中间设备之间与外设、实时操作系统和中间设备之间的通用接口的通用接口。 明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行StdPeriph Drivers StdPeriph: Standard Pe
31、ripherals 标准外设驱动集标准外设驱动集 优点:优点:驱动全驱动全资源多资源多代码成熟代码成熟明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行Framework 项目栏与项目栏与Framework相关的文件为:相关的文件为:“stm32f10 x_conf.h” conf:configuration明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行异常异常1 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行异常异常1 异常
32、(异常(Exception)包括:系统异常)包括:系统异常和中断和中断(Interrupt) 系统系统异常:与异常:与内核内核相关的打断相关的打断程序顺序执程序顺序执行的行的事件。事件。 中断:与中断:与片上外设片上外设相关相关的打断程序顺序执的打断程序顺序执行的行的事件。事件。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行Cortex-M3 的异常的异常 Cortex-M3 的异常的异常见见1P33表表2-2 表中:表中:第第1栏是异常的编号,也是异常的栏是异常的编号,也是异常的默认响应默认响应式优先级式优先级,编号越小,优先级越高;,
33、编号越小,优先级越高;除除1-3号中断外,其余中断的优先级可编程号中断外,其余中断的优先级可编程。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行STM32F107VC 的异常的异常 STM32F107VC的异常见的异常见2P130表表54。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行优先级优先级 对异常向量表中默认排序可通过设置对异常向量表中默认排序可通过设置抢抢占式占式优先级优先级和和响应响应式式优先级优先级进行修改。进行修改。 抢占式优先级高的中断可以嵌套抢占式抢占式优先级高的
34、中断可以嵌套抢占式优先级低的中断。优先级低的中断。 抢占式优先级相同抢占式优先级相同时,时,响应式优先级高响应式优先级高的中断先得到处理。的中断先得到处理。 如两种优先级都相同时如两种优先级都相同时,默认优先级高,默认优先级高的的中断先得到处理。中断先得到处理。 。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行优先级优先级 通过画图讲解抢占式优先级和响应式优通过画图讲解抢占式优先级和响应式优先级的区别,先级的区别,并分别举例讲解上述并分别举例讲解上述3句话句话的含义。的含义。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅
35、沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行优先级的设置优先级的设置 CM3通过通过NVIC来设置各种可设置优先来设置各种可设置优先级异常的级异常的抢占式优先级和响应式抢占式优先级和响应式优先优先级,其数量可设置(级,其数量可设置(1,2,4,8,16)。)。 有有3个系统异常优先级不可设置,其抢个系统异常优先级不可设置,其抢占式优先级最高占式优先级最高1P107。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行优先级的设置优先级的设置 当当抢占式优先抢占式优先级数量设级数量设为为1个时,该级个时,该级别的响应式优先级数量为别的响应式优先级数量为
36、16个个。 当抢占式优先级数量设为当抢占式优先级数量设为2个时,每个个时,每个级别的响应式优先级数级别的响应式优先级数量为量为8个,依此个,依此类推类推。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行思考思考 当抢占式优先级设当抢占式优先级设为为8个个时,每个级别的时,每个级别的响应式优先级可响应式优先级可设多少个?设多少个? 具体如何设置,详具体如何设置,详见后面的例题。见后面的例题。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行外部中断外部中断1 1 1明德明德明德明德明德明德
37、厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行外部中断外部中断 STM32F10X的每个的每个IO口都可以设为外部口都可以设为外部中断,最多可设中断,最多可设19个。个。 0号号外部中断可设在任意外部中断可设在任意GPIO口的口的0号引号引脚,依此类推,脚,依此类推, 15号号外部中断可设在任意外部中断可设在任意GPIO口的口的15号引脚。号引脚。 16号号外部中断只能外部中断只能连到连到PVD输出引脚。输出引脚。 17号号外部中断只能外部中断只能连到连到RTC闹钟事件。闹钟事件。 18号号外部中断只能外部中断只能连到连到USB唤醒事件。唤醒事件。明德明德明德明德
38、明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行例题例题 例题:例题:EXTI 功能:功能:在学习板上实现外部中断控制在学习板上实现外部中断控制LED亮灭亮灭。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行中断函数代码要求中断函数代码要求 代码尽可能短代码尽可能短 不能不能传递参数传递参数 不能不能返回返回值值 不能加串口不能加串口调试代码调试代码明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课堂练习课堂练习 将例题的中断函数代码改短。将例题的中
39、断函数代码改短。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课堂练习课堂练习 在例题基础上修改,实现外部中断上升在例题基础上修改,实现外部中断上升沿触发。沿触发。 给例题添加规范的注释。给例题添加规范的注释。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课后练习课后练习 熟练掌握熟练掌握led、key、exti等案例。等案例。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行CM3寄存器组寄存器组(选讲)(选讲)1 1 1明德明德
40、明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行参见参见1P38明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行CM3的寄存器组的寄存器组 寄存器组在寄存器组在CM3内核内核中,效率高。中,效率高。 函数的参数存在函数的参数存在R0-R3中,超出存在堆栈中,超出存在堆栈中。中。 函数的返回函数的返回值存在值存在R0中。中。 函数的局部变量存在函数的局部变量存在R4-R11中,超出中,超出存在存在堆栈中堆栈中。 R12一般用作中间临时寄存器。一般用作中间临时寄存器。明德明德明德明德明德明德 厚学厚
41、学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行R13(堆栈指针)(堆栈指针) 双堆栈机制双堆栈机制 主堆栈指针主堆栈指针MSP(SP_main) 进程堆栈指针进程堆栈指针PSP(SP_process) MSP为默认的堆栈指针,由操作系统或为默认的堆栈指针,由操作系统或异常服务例程使用异常服务例程使用 PSP由由用户程序使用用户程序使用明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行CM3的堆栈的堆栈 向下生长的满向下生长的满栈栈明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行
42、笃行笃行笃行PUSH R0 R13 = R13 - 4; *R13 = R0;明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行POP R0 R0 = *R13; R13 = R13 + 4;明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行堆栈操作堆栈操作8字节字节对齐对齐 AAPCS(Procedure Call Standard for the ARM Architecture;ARM体系结构体系结构过程调用标准过程调用标准 ) 规定对堆栈的操作是规定对堆栈的操作是8字字节对齐节对齐
43、因此,因此,PUSH、POP操作的寄存器数量操作的寄存器数量需为偶数。需为偶数。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行R14 R14(LR):连接):连接寄存器寄存器 功能:调用功能:调用子程序时,保存返回地址子程序时,保存返回地址 要实现嵌套,要实现嵌套, R14必须入栈必须入栈 响应异常时,有新用途响应异常时,有新用途明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行R15 程序计数器(程序计数器(PC)明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅
44、沉毅 笃行笃行笃行笃行笃行笃行CM3的特殊功能寄存器的特殊功能寄存器明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行CM3操作模式操作模式(选讲)选讲)1 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行操作模式操作模式 特权级特权级handler模式模式 特权特权级级thread模式模式 用户级用户级thread模式模式明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行关于用户级关于用户级thread模式模式 用户用户threa
45、d模式一般在模式一般在有操作系统时有操作系统时才才使用。使用。 用户用户级代码级代码禁止写特殊功能寄存器禁止写特殊功能寄存器 如果芯片带有如果芯片带有MPU,用户,用户级代码级代码还禁止还禁止访问部分内存区域。访问部分内存区域。 STM32不带不带MPU明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行双堆栈机制双堆栈机制 MSP(SP_main) PSP(SP_process) PSP一般在一般在有操作系统时有操作系统时才使用才使用。 CONTROL1 = 1时,为时,为PSP明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅
46、沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行响应异常和异常返回响应异常和异常返回(选讲)选讲)1 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行响应异常响应异常 响应异常时,响应异常时,CM3自动完成以下工作:自动完成以下工作:入栈入栈取址取址(与入栈同时进行)(与入栈同时进行)更新更新明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行入入栈栈 保护现场保护现场 将将xPSR、PC、LR、R12、R3R0(共(共8个)依次入个)依次入栈栈 如果异常服务函数为如果异常服务函数为C语言编写,
47、语言编写,C编译编译器自动负责器自动负责R4-R11的入栈的入栈明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行取址取址 从向量表中从向量表中找出异常服务程序地址找出异常服务程序地址明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行更新更新 入栈的同时更新了入栈的同时更新了SP 更新更新IPSR(xPSR低低9位位)为新的异常编号为新的异常编号 更新更新PC 更新更新LR为为EXC_RETURN明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃
48、行笃行异常异常返回返回 将将EXC_RETURN写入写入PC,自动触发,自动触发异异常返回,完成以下工作:常返回,完成以下工作:出栈出栈更新更新明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行时钟树时钟树 参见参见2P80明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行时钟设置流程时钟设置流程 HSE(25MHZ) PREDIV2(/5, 5M ) PLL2MUL (*8, 40M ) PREDIV1SCR(PLL2 , 40M ) PREDIV1(/5, 8M ) PLLSCR(PRE
49、DIV1, 8M ) PLLMUL(*9, 72M ) SW(PLL, 72M ) SYSCLK(72MHZ)明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课堂练习课堂练习 找到找到系统系统时钟设置代码,时钟设置代码,结合结合2,看懂看懂系统时钟设置程序。系统时钟设置程序。 阅读并熟悉阅读并熟悉2第第7章。章。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课堂练习课堂练习 打开打开“LED”例题,将文件例题,将文件“startup_stm32f10 x_cl.s”中的第中的第158行
50、和行和159行注释掉后,编译运行,观行注释掉后,编译运行,观察察LED闪烁速度变化。闪烁速度变化。 明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行系统定时器系统定时器1 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行系统定时器简介系统定时器简介 STM32F10X内核内核中有一个中有一个24位的系统位的系统定时器。设定初值并使能后,该定时器定时器。设定初值并使能后,该定时器每经过每经过1个个系统时钟周期系统时钟周期减减1,当减到,当减到0时,自动重装初值,并触发时,自动重装初值
51、,并触发SYSTICK异异常(异常号:常(异常号:15)1 当加嵌入式操作系统时,该定时器一般当加嵌入式操作系统时,该定时器一般供操作系统使用供操作系统使用明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行例题例题 例题:例题: SysTick 功能功能:利用:利用系统定时器,实现系统定时器,实现LED定时定时加一。加一。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课堂练习课堂练习 将例题下载到学习板观察效果。将例题下载到学习板观察效果。 熟悉例题代码结构。熟悉例题代码结构。 在例题在
52、例题“XINT” 基础上修改,实现例题基础上修改,实现例题功能。功能。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行例题讲解例题讲解 例题:例题: SysTick明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课后练习课后练习 利用系统时基定时器实现利用系统时基定时器实现LED二进制显二进制显示示值值每隔每隔1秒定时秒定时加加一,其中,显示值可一,其中,显示值可通过按键设置通过按键设置。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃
53、行定时器定时器1 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行例题例题 例题:例题: timer 功能:利用通用定时器实现功能:利用通用定时器实现LED二进制二进制显示显示值每隔值每隔1秒定时加秒定时加一。一。 例题讲解例题讲解明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课堂练习课堂练习 在前面例题的基础上,不参考本例题,在前面例题的基础上,不参考本例题,独立实现例题独立实现例题功能功能。 改用改用tim4通用定时器实现通用定时器实现LED二进制显二进制显示值每隔示值每隔2
54、秒秒定时加一。定时加一。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课后练习课后练习 在在LCD上,利用定时器实现电子钟。上,利用定时器实现电子钟。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行LCD1 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行TFT-LCD简介简介 TFT(Thin Film Transistor) 应用广泛应用广泛 学习板上的学习板上的TFT彩屏分辨率为彩屏分辨率为320*240,彩屏模块集成了
55、彩屏模块集成了SSD1289控制器控制器9。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行例题例题 例题:例题:LCD 功能功能:在:在LCD上显示字符及图片。上显示字符及图片。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行硬件电路硬件电路 硬件电路讲解硬件电路讲解明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行LCD 学习板上的学习板上的LCD共有共有320*240个像素点个像素点 LCD的像素点由的像素点由3种颜色组成(种颜色
56、组成(RGB) 每每种颜色的深浅范围为:种颜色的深浅范围为:063,即每个,即每个像素点有像素点有64*64*64(262144)种颜色组)种颜色组合合 RAM大小大小:172800B(320*240*18/8)明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行LCD驱动程序驱动程序 参照程序讲解参照程序讲解明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行LCD总线总线 LCD支持支持18(666)位总线和)位总线和16(565)位总线位总线明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚
57、学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课堂练习课堂练习 利用定时器,在利用定时器,在LCD上上实现电子实现电子钟钟。 在在LCD上实现可调时的电子上实现可调时的电子钟钟。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行uCGUI1 1 1明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行uCGUI初识初识 C/GUI以以C 源代码形式源代码形式给给LCD 应用程应用程序提供了一序提供了一个个高效的高效的封装库封装库。 它它适合于单一任务和多任务环境,专用适合于单一任务和多任
58、务环境,专用的操作系统或者的操作系统或者任何商业任何商业的实时操作系的实时操作系统(统(RTOS)。 提供底层驱动程序后,它可以适用于任提供底层驱动程序后,它可以适用于任何何LCD 控制器和控制器和CPU。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行uCGUI的特点的特点11-12 支持不同颜色深度的位图支持不同颜色深度的位图。 不同的绘画模式。不同的绘画模式。 提供了多种字体提供了多种字体:4*6,6*8,6*9,8*8,8*9,8*16,8*17,8*18,24*32,字,字体还可充分体还可充分地缩放地缩放。 完全的窗口管理器包括剪
59、切在内完全的窗口管理器包括剪切在内。 提供触摸屏和鼠标提供触摸屏和鼠标支持。支持。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行例题例题 例题:例题: uCGUI 最简单的基于最简单的基于uCGUI的例题。的例题。 功能:在功能:在LCD上显示上显示“Hello world!” 将例题下载到学习板上,观察效果。将例题下载到学习板上,观察效果。明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行课堂练习课堂练习 参考参考13实现实现uCGUI的移植,并完成例的移植,并完成例题功能题功能明德明
60、德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行程序讲解程序讲解 添加文件,参考添加文件,参考12P10明德明德明德明德明德明德 厚学厚学厚学厚学厚学厚学 沉毅沉毅沉毅沉毅沉毅沉毅 笃行笃行笃行笃行笃行笃行LCDDummy.c Dummy:仿制品:仿制品 如果如果UCGUI中,没有可选择中,没有可选择的的LCD驱动驱动,则需此文件作为接口来连接自己添加,则需此文件作为接口来连接自己添加的的lcd驱动文件,并在配置文件中作如下驱动文件,并在配置文件中作如下配置:配置:#define LCD_CONTROLLER -1明德明德明德明德明德明德 厚学厚
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海鲜干货采购合同范例
- 种植苗木合同范例
- 智慧停车服务协议合同模板
- 场地施工合同(04版)
- 租赁车间及设备合同范例
- 窗帘合伙经营合同模板
- 杭州单层厂房出租合同范例
- 2024年度LED路灯采购及安装项目合同
- 2024装修合同(附加合同)
- 2024年度网络安全防护及修复合同
- 连接器通用外观检验规范
- 片石混凝土挡土墙施工方案(改)
- 催化原理ppt课件 03
- T-GDC 109-2021 政企影像档案库建设及服务标准
- 能源化工化工基础知识
- YC/T 144-2017烟用三乙酸甘油酯
- GB/T 2941-2006橡胶物理试验方法试样制备和调节通用程序
- 食品微生物学7微生物与食品生产课件
- 第16课《散文两篇-永久的生命》课件(共23张PPT) 部编版语文八年级上册
- 埃及文化英语课件
- 最新国家开放大学电大《课程与教学论》形考任务3试题及答案
评论
0/150
提交评论