[嵌入式系统设计(基于STM32F4)][徐灵飞][习题解答]第五章.docx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[嵌入式系统设计(基于STM32F4)][徐灵飞][习题解答]第五章.docx》由用户(最好的沉淀)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统设计基于STM32F4 徐灵飞 习题解答 嵌入式 系统 设计 基于 STM32F4 习题 解答 第五
- 资源描述:
-
1、嵌入式系统设计(基于STM32F429)第 5 章课后题参考答案1. 列举 GPIO 的工作模式。答:(1) 输入浮空模式。(2) 输入上拉模式。(3) 输入下拉模式。(4) 模拟功能模式。(5) 具有上拉/下拉功能的开漏输出模式。(6) 具有上拉/下拉功能的推挽输出模式。(7) 具有上拉/下拉功能的复用功能推挽模式。(8) 具有上拉/下拉功能的复用功能开漏模式。2. STM32F429 系列微控制器每个 GPIO 端口有 16 个 引脚。3. 当引脚被配置为模拟功能模式时,上拉/下拉功能应被_禁止_。4. 当引脚被配置为输出模式,而输出类型被配置为开漏时,引脚要输出高电平,需要 使能引脚上拉
2、功能 。5. 控制引脚输出电平时,需要操作 ODR 寄存器;获取引脚状态需要操作 IDR 寄存器。6. 在 stm32f429 的库函数中,使能 GPIOA 时钟,使用的库函数是 RCC_AHB1PeriphClockCmd ( RCC_AHB1Periph_GPIOA, ENABLE) 。7. 在 stm32f429 的库函数中,初始化 GPIO 功能,使用的库函数是 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) 。8. 当要同时初始化某个 GPIO 的 1 号、2 号引脚,赋给 GPIO_Ini
3、tTypeDef 结构体类型成员 GPIO_Pin的值是 GPIO_Pin_1 | GPIO_Pin_2 。9 在 stm32f429 的库函数中, 读取某个特定 GPIO 引脚状态, 使用的库函数是 uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) 。10. 在 stm32f429 的库函数中,设定某些特定 GPIO 引脚输出状态,使用的库函数是void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) 和 void GPIO_ResetBits(
4、GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) 。11. 结合电路说明推挽输出和开漏输出的区别。答:在推挽输出下,输出电路中有 PMOS 和 NMOS 管组成的推挽结构电路,当 ODR 寄存器中对应位写1 时,NMOS 管截止,PMOS 管导通,引脚输出高电平。当 ODR 寄存器中对应位写0时,NMOS 管导通, PMOS 管截止,引脚输出低电平。在开漏输出下,输出电路中有只有 NMOS 管,当 ODR 寄存器中对应位写1时,NMOS 管截止,这是引脚处于浮空状态,必须通过上拉电阻使引脚输出高电平。当 ODR 寄存器中对应位写0时,NMOS 管导通,PMOS 管
5、截止,引脚输出低电平。12. 当把引脚配置为模拟输入模式时,那么它是否还具备耐 5V 功能? 答:不具备耐 5V 功能。此时,引脚输入通道和数字电路隔离,处于模拟电路状态13. 简述片上外设使用初始化流程。答:(1) 使能 GPIO 的时钟(非常重要),涉及以下文件。(2) 设置对应于片上外设使用的 GPIO 工作模式。(3) 如果使用复用功能,需要单独设置每一个 GPIO 引脚的复用功能。(4) 在应用程序中读取引脚状态、控制引脚输出状态或使用复用功能完成特定功能。14. 编写程序,将GPIOD 的 1 号、3 号、5 号、7 号、9 号引脚配置为推挽输出模式,速度为50MHz, 将 0、2
6、 号、4 号、6 号、8 号引脚配置为上拉输入模式。答:GPIO_InitTypeDef GPIO_InitStructure;RCC_AHB1PeriphClockCmd ( RCC_AHB1Periph_GPIOD, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1| GPIO_Pin_3| GPIO_Pin_5| GPIO_Pin_7| GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;GPIO_InitStructure.GPIO_OType = GPIO_OType_PP
7、; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOD, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0| GPIO_Pin_2| GPIO_Pin_4| GPIO_Pin_6| GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOD, &GPIO_InitStru
8、cture);15. 编写程序,将 GPIOD 的 1 号、5 号、7 号引脚输出高电平,3 号、9 号引脚输出低电平,并将引脚 2 号、6 号、8 号上的状态读到处理器中。答:unsigned short int a,b,c;GPIO_SetBits(GPIOD , GPIO_Pin_1| GPIO_Pin_5| GPIO_Pin_7) ; GPIO_ResetBits(GPIOD , GPIO_Pin_3| GPIO_Pin_9) ;a = GPIO_ReadInputDataBit(GPIOD , GPIO_Pin_2) ; b = GPIO_ReadInputDataBit(GPIOD
9、 , GPIO_Pin_6) ; c = GPIO_ReadInputDataBit(GPIOD , GPIO_Pin_8) ;16. 有独立按键电路,连接在 STM32F429IGT6 微控制器的 GPIOE 的 5 号引脚,要求在每次按键后将连接 GPIOB 的 2 号引脚上的 LED 灯反转,电路如图 5-16 所示。图 5-16 题 16 电路图请编写程序实现按键动作的检测,编写以下程序。(1) 主程序。(2) 连接按键引脚和 LED 引脚的初始化程序。(3) 按键检测程序。假设已有延时函数 void delay_ms(u16 nms);,此函数可直接调用。答:#define KEY_
10、ON1#define KEY_OFF0(1)int main(void)delay_init(168); /初始化延时函数LED_GPIO_Config(); Key_GPIO_Config();while(1)if( Key_Scan(GPIOE, GPIO_Pin_5) = KEY_ON )GPIO_ToggleBits(GPIOB, GPIO_Pin_2);(2)void Key_GPIO_Config(void)GPIO_InitTypeDef GPIO_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE,ENABLE);
展开阅读全文