[嵌入式系统设计(基于STM32F4)][徐灵飞][习题解答] 第九章.docx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[嵌入式系统设计(基于STM32F4)][徐灵飞][习题解答] 第九章.docx》由用户(最好的沉淀)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统设计基于STM32F4 徐灵飞 习题解答 嵌入式系统设计基于STM32F4徐灵飞习题解答 第九章 嵌入式 系统 设计 基于 STM32F4 习题 解答 第九
- 资源描述:
-
1、嵌入式系统设计(基于STM32F429)第 9 章课后题参考答案1. STM32F429 定时器的计数方式有 递增计数 、 递减计数_、 中心对齐_。2. STM32F429 计数寄存器是 TIMx_CNT ,自动重载寄存器是 TIMx_ARR) _,预分频寄存器是 TIMx_PSC 。3. 若 TIMx_PSC=4,则时钟源的预分频系数是 5 。4. 若 TIMx_ARR=89,则一次计数溢出的计数次数是 90 。5. 什么是 PWM 信号?什么是占空比?请绘图举例。答:PWM(Pulse Width Modulation): 脉冲宽度调制,简称脉宽调制。PWM 信号:周期内高电平占空比可调
2、的信号。占空比:一个周期内高电平持续时间与一个周期时间的比值。6. 递增计数模式是从 0 计数到 ARR 的值,然后产生一次 溢出事件 。7. 递减计数模式是从_ ARR _计数到 0 的值,然后产生一次向下溢出。中心对齐计数模式是先以递增计数模式,从 0 计数到 ARR -1 ,然后产生一次向上溢出,再在从 ARR 计数到 1 , 然后产生一次向下溢出。8. 当使能了比较输出功能,输出 PWM 波,在边沿比较模式下,寄存器 ARR 控制 PWM 周期,寄存器 CCR 控制占空比。9. 当使能了比较输出功能,输出 PWM 波,在边沿比较模式下,当 TIMx_CNT 计数值在_0 CCR-1 寄
3、存器 范围时,输出有效电平;在 CCRARR 范围时,输出反向电平。10. 定时器TIM2 挂载在APB1 总线上,假设PCLK1=45MHz,选择内部时钟作为计数时钟源(默认情况下这一时钟源频率=2PCLK1),TIM2_PSC=8,TIM2_ARR=49,则计数溢出一次,时间为多长?怎么计算?答:(TIM2_PSC+1)(TIM2_ARR +1)/ 90000000 = 9 50 / 90000000 = 5us11. 使用内部时钟时,怎么确定各定时器的时钟基准频率? 答:除非 APB 的分频系数是 1,否则通用定时器的时钟等于 APB 时钟的 2 倍。默认调用 SystemInit 函数
4、情况下:SYSCLK=180M AHB 时钟=180MAPB1 时钟=45M,APB2 时钟=90MAPB 分频系数分别是 4 和 2所以,定时器时钟是相应挂载总线时钟的 2 倍。12. 编程序,使用 TIM1 产生 1s 的定时。答:TIM1 挂载在 APB2 总线上,在系统时钟 =180MH 时, PCLK2=90MHz , TIM1 的内部时钟源 = PCLK2*2=180MHz。Tout(定时时间)=1s=(ARR+1)(PSC+1)/1800000000,则可以取 PSC=18000-1,ARR=10000-1。TIM_TimeBaseInitTypeDef TIM_TimeBase
5、Structure; NVIC_InitTypeDef NVIC_InitStructure;/*-第 1 步*/ 开启 TIM1 时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);/*-第 2 步*/TIM_TimeBaseStructure.TIM_Period = 10000-1;TIM_TimeBaseStructure.TIM_Prescaler = 18000-1; TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_
6、CounterMode=TIM_CounterMode_Up; TIM_TimeBaseStructure. TIM_RepetitionCounter=0;TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);/*-第 3-1 步*/ 开启定时器更新中断TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE);/ 清除定时器更新中断标志位TIM_ClearFlag(TIM1, TIM_FLAG_Update);/*-第 3-2 步*/ 设 置 中 断 组 为 0 NVIC_PriorityGroupConfig(NVIC_Prio
7、rityGroup_0);/ 设置中断来源NVIC_InitStructure.NVIC_IRQChannel =TIM1_UP_TIM10_IRQn;/ 设置抢占优先级NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;/ 设置子优先级NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);/*-第 4 步*/ 使能定时器TIM_
8、Cmd(TIM1, ENABLE);13. 编程序,使用 TIM3 产生 PWM 波。答:(1) 通过 TIM3 的 CH1 输出 PWM 波。(2) PWM 波周期为 200KHz,占空比为 20%。(3) TIM3 的 CH1 对用的引脚为 PA6。GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_OCInitTypeDef TIM_OCInitStructure;/*-第 1 步*/*开启相关的 GPIO 外设时钟*/RCC_AHB1PeriphClockCmd (
9、RCC_AHB1Periph_GPIOA, ENABLE);/ 使能 TIM3 时钟RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);/*-第 2 步*/TIM3 输出通道 3 复用引脚配置GPIO_PinAFConfig(GPIOA,GPIO_PinSource6,GPIO_AF_TIM3); /TIM3 输出通道 1 引脚复用/* TIM3 输出通道 3 引脚配置 */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF
展开阅读全文