- 1、本文档共217页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
107手册P1 使用库函数控制LED灯闪烁 《库函数》P128 GPIO_SetBits 函数GPIO_ResetBits 函数GPIO_WriteBit 函数GPIO_Write GPIO库设置步骤:《库手册》P124 GPIO引脚时钟使能RCC_APB2PeriphClockCmd《库手册》P127 GPIO_InitTypeDef 定义初始化类型 GPIO_InitStructure.GPIO_Pin 定义管脚 GPIO_InitStructure.GPIO_Speed 定义速度 GPIO_InitStructure.GPIO_Mode定义模式 GPIO_Init 初始化命令《库手册》P124 [微控制器手册]P137 中断设置步骤 GPIO引脚时钟使能RCC_APB2PeriphClockCmd《库手册》P127 GPIO引脚属性设置 GPIO_Init《库手册》P124 3. 外部中断配置 GPIO_EXTILineConfig 《库手册》P133 4.外部中断初始化 EXTI_Init 《库手册》P99 EXTI_InitStructure.EXTI_Line = EXTI_Line0; //中断线 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; //模式:中断请求/事件请求 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; //下降沿触发 EXTI_InitStructure.EXTI_LineCmd = ENABLE; //中断使能 EXTI_Init(EXTI_InitStructure); //进行初始化 主程序 中断服务程序 1.配置 LedConfig() KeyConfig() Timer5Config() 2.初始化 课堂练习 打开源码中“rtdef.h”文件,结合[30]P36图,熟悉RTThread 继承的实现方法。 多态 同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。 RTThread采用C语言通过函数指针的方法实现多态性。 C++采用虚函数 通过不同的状态调用不同的函数 例题 熟悉[30]P31的程序代码。 课堂练习 结合多态性和“rt_device”结构的定义,熟悉源码中的2个函数: “rtthread_startup();”/ “rt_hw_board_init();” / “rt_hw_usart_init();” “rtthread_startup();”/ “rt_device_init_all();” 关中断和 开中断 1 关中断和 开中断 一些关键语句需要关闭中断运行。 PRIMASK(中断屏蔽寄存器)仅1位有效:为1时,关闭所有可屏蔽的异常,只剩下NMI和硬fault 可以响应。[1]P41 CPSID I ;关中断 CPSIE I ;开中断 例题 打开例题的“context_rvdx.s”文件,熟悉关中断和开中断程序。 多线程 1 多线程运行框图 线程的状态 在源码的“rtdef.h”文件中定义了线程的几种状态(此处如果使用num枚举,会更合适): #define RT_THREAD_INIT 0x00 #define RT_THREAD_READY 0x01 #define RT_THREAD_SUSPEND 0x02 #define RT_THREAD_RUNNING 0x03 #define RT_THREAD_CLOSE 0x04 课堂练习 打开例题中的“rtdef.h”文件,在“rt_thread”结构体的定义中,找到线程状态设置变量。 RT_THREAD_INIT 初始状态 所有新创建的线程均设置初始状态。 课堂练习 在例题中找到:将新创建的线程初始化为RT_THREAD_INIT状态的语句。 课堂练习 利用uCGUI,实现可调时的1秒定时加一,二进制的数值显示在LCD上。 利用uCGUI,实现可调时的电子钟。 创新练习 利用uCGUI,实现中文显示。 第10章 DMA控制器 1 DMA简介 DMA(Direct Memory Access) 直接存储器存取 主要功能:无需CPU干预,实现外设之间通信的“桥梁”。 详见[2]P142,[11] 初步阅读 例题见后面章节 AD转换 1 例题 例题:AD转换 功能:在TFT-LCD上显示电位器的电压值。 讨论和解释。 课堂作业 将例题下载到学习板观察效果。 熟悉例题。 从新建项目开始,一步步实现例题功能。 课堂练习 利用uCGUI实现
文档评论(0)