[嵌入式系统设计(基于STM32F4)][徐灵飞][习题解答](8)

[嵌⼊式系统设计(基于STM32F4)][徐灵飞][习题解答](8)
《嵌⼊式系统设计(基于STM32F429)》
第8章课后题参考答案
1.系统时钟的三个输⼊选择分别是__HSI___、_HSE_、__PLLCLK__。
2.复位后,系统时钟源是___ HSI _____。
3.STM32F429微控制器内部的5个时钟源:HIS 、___ HSE _、LSI 、LSE 、__ PLLCLK ___
4.RC 复位电路形式是什么?
5.STM32F429微控制器中GPIO 、USART1和TIM1的时钟分别来⾃_HCLK_、_PCLK2__、__ PCLK2___。
6.阐述PLL 的倍频原理。
四川师范大学学报当锁相环处于锁定状态时,鉴相器(PD )的两输⼊端⼀定是两个频率完全⼀样但有⼀定相位差的信号。如果它们的频率不同,则在压控振荡器(VCO )的输⼊端⼀定会产⽣⼀个控制信号使压控振荡器的振荡频率发⽣变化,最终使鉴相器(PD )的两输⼊信号(⼀个是锁相环的输⼊信号Ui, ⼀个是压控振荡器的输出信号Uo )的频率完全⼀样,则环路系统处于稳定状态。基于此原理,如果在VCO 之后,加⼀个分频器(N 分频),在反馈回锁相环输⼊端,此时输出信号即为原来的N 倍。
7.请说明SYSCLK 、HCLK 、PCLK1及PCLK2这4个时钟之间的关系。
答:
SYSCLK= HCLK 。
PCLK1及PCLK2的频率由RCC 时钟配置寄存器 (RCC_CFGR)的PPRE1和PPRE2两个位域决定。默认系统复位后。
PCLK1= HCLK /4
PCLK2= HCLK /2
8.选择HSE 振荡器时钟(8MHz )作为PLL 时钟源,并选择PLL ⽣成180MHz 的系统时钟,那么PLL 的分频因⼦M 、P 和倍频因⼦N ,可以分别是___8_____、____2____、____360____,系统时钟不分频产⽣AHB 时钟HCLK=180MHz 。当APB1总线4分频HCLK 时钟,PCLK1=___45__MHz ,
当APB2总线
2分频HCLK时钟,PCLK2=___90__MHz,。
9.使⽤HSE振荡器时钟作为PLL的时钟源,并配置PLL作为系统时钟源系统时钟设置为168MHz?
答:
假设HSE = 25MHz。
__IO uint32_t HSEStartUpStatus = 0;
/*-------------------第1步--------------------*/
RCC_HSEConfig(RCC_HSE_ON); // 使能HSE,开启外部晶振
HSEStartUpStatus = RCC_WaitForHSEStartUp();// 等待HSE启动稳定
if (HSEStartUpStatus == SUCCESS)//判断HSE是否启动成功,不成功的话,出错处理
{
/
*在程序运⾏中更改系统时钟的话需要先将时钟源切换到其他,并关闭PLL,再进⾏PLL配置*/
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSE); // 将系统时钟切换到HSE
while (RCC_GetSYSCLKSource() != 0x04) // 判断HSE是否被选为系统时钟
{
}
RCC_PLLCmd(DISABLE);//禁⽌PLL
/*-------------------第2步--------------------*/
RCC_HCLKConfig(RCC_SYSCLK_Div1); // HCLK = SYSCLK / 1
RCC_PCLK2Config(RCC_HCLK_Div2); // PCLK2 = HCLK / 2
莫代尔
RCC_PCLK1Config(RCC_HCLK_Div4); // PCLK1 = HCLK / 4
/*-------------------第3步--------------------*/
RCC_PLLConfig(RCC_PLLSource_HSE, 25, 336, 2, 1); // 配置PLL /*-------------------第4步--------------------*/ RCC_PLLCmd(ENABLE); // 使能PLL
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) // 等待PLL稳定
{
}
/*--------开启OVER-RIDE模式,以能达到更⾼频率---------*/
PWR->CR |= PWR_CR_ODEN;曙光考试>多媒体教室中控系统
while((PWR->CSR & PWR_CSR_ODRDY) == 0)
{
}
PWR->CR |= PWR_CR_ODSWEN;
while((PWR->CSR & PWR_CSR_ODSWRDY) == 0)
{
}
/*--------配置FLASH预取指,指令缓存,数据缓存和等待状态---------*/
FLASH->ACR = FLASH_ACR_PRFTEN
| FLASH_ACR_ICEN
| FLASH_ACR_DCEN
| FLASH_ACR_LATENCY_5WS;
/*-------------------第5步--------------------*/
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //把PLL时钟切换为系统时钟
/*-------------------第6步--------------------*/
while (RCC_GetSYSCLKSource() != 0x08) //判断PLLCLK是否被选为系统时钟
{尾翼的作用
}
}
else // HSE启动出错处理
{
while (1)
{
}
}
10.请查阅资料确定USART1、SPI1、GPIOA、TIM1及TIM2分别使⽤时钟源是什么?
答:
USART1:PCLK2
SPI1:PCLK2模具技术
GPIOA:HCLK
TIM1:PCLK2
TIM2:PCLK1
11.四个⽚上外设时钟使能函数分别是(只需要函数名):RCC_AHB1PeriphClockCmd、RCC_AHB2PeriphClockCmd、RCC_APB1PeriphClockCmd、RCC_APB2PeriphClockCmd。
12.使能ADC1的时钟使⽤函_RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 ,ENABLE )__。

本文发布于:2024-09-24 07:23:50,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/314831.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:时钟   系统   状态   信号   锁相环   缓存
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议