如果已知STM 32外设总线APB 2的时钟为72 MHz,APB 1时钟为36 Mhz,并调用库函数RCC ADCCLKConfig(RCC_PCLK 2_Div 8); 实现模数转换器的时钟配置.已知内部温度传感器模拟输入推荐采样时间是17.1us,则调用库函数_RegularChannelConfig(ADC 1,ADC_Channel_16,1,参数4); 实现规贝少通道配置时,参数4可选择的最小值应该是:.
时间: 2024-04-04 20:33:34 浏览: 26
根据题目所给的信息,可知ADC的时钟源来自于APB2的时钟,即为72 MHz/8=9 MHz。因为内部温度传感器的模拟输入推荐采样时间为17.1us,所以可得到ADC的采样时间为:1/9000000*1.5=0.0000001667 s=166.7 ns。而在调用函数_RegularChannelConfig时,参数4代表采样周期,所以可得到参数4的最小值为:166.7 ns/1.5=111,因此参数4可选择的最小值应该是111。
相关问题
如果已知STM 32外设总线APB 2的时钟为72 MHz,APB 1时钟为36 Mhz,并调用库函数RCC_ADCCLKConfig(RCC_PCLK 2_Div 8); 实现模数转换器的时钟配置.已知内部温度传感器模拟输入推荐采样时间是17.1us,则调用库函数_RegularChannelConfig(ADC 1,ADC_Channel_16,1,参数4); 实现规则通道配置时,参数4可选择的最小值应该是:
根据题目所给的信息,可知ADC的时钟源来自于APB2的时钟,即为72 MHz/8=9 MHz。因为内部温度传感器的模拟输入推荐采样时间为17.1us,所以可得到ADC的采样时间为:1/9000000*1.5=0.0000001667 s=166.7 ns。而在调用函数_RegularChannelConfig时,参数4代表采样周期,可从题目中给出的选项中选择一个最小值大于等于166.7 ns的值。从选项中可知,ADC_SampleTime_13Cycles5是最小值,对应的采样时间为13.5个ADC时钟周期,即1.5us,大于166.7 ns,因此参数4可选择的最小值应该是ADC_SampleTime_13Cycles5。
怎么配置STM32F103ZET6定时器系统时钟为72MHz标准库代码
要配置STM32F103ZET6定时器系统时钟为72MHz,可以按照以下步骤进行:
1. 首先,确保你已经正确地设置了系统时钟为72MHz。这可以通过RCC(Reset and Clock Control)模块来实现。使用`RCC_DeInit()`函数将RCC模块恢复到默认设置,然后配置时钟源为外部晶振(HSE),并设置适当的分频系数。
```c
// 复位并配置RCC模块
RCC_DeInit();
// 启用外部晶振
RCC_HSEConfig(RCC_HSE_ON);
RCC_WaitForHSEStartUp();
// 设置PLL时钟源为外部晶振,分频系数设置为9(8MHz / 1 * 9 = 72MHz)
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
// 启用PLL
RCC_PLLCmd(ENABLE);
// 等待PLL稳定
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
// 设置系统时钟源为PLL
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
// 设置AHB总线分频系数为1(72MHz)
RCC_HCLKConfig(RCC_SYSCLK_Div1);
// 设置APB1总线分频系数为2(36MHz)
RCC_PCLK1Config(RCC_HCLK_Div2);
// 设置APB2总线分频系数为1(72MHz)
RCC_PCLK2Config(RCC_HCLK_Div1);
// 更新系统时钟频率
SystemCoreClockUpdate();
```
2. 然后,根据你要配置的定时器,选择相应的定时器外设,并对其进行配置。
以定时器2为例,使用标准库函数进行配置,可以按照以下步骤进行:
```c
// 启用定时器2的时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
// 配置定时器
TIM_TimeBaseInitTypeDef TIM_InitStructure;
TIM_InitStructure.TIM_Prescaler = 0; // 不分频
TIM_InitStructure.TIM_CounterMode = TIM_CounterMode_Up; // 向上计数模式
TIM_InitStructure.TIM_Period = 7199; // 计数周期为7200(72MHz / 7200 = 10kHz)
TIM_InitStructure.TIM_ClockDivision = TIM_CKD_DIV1; // 不分频
TIM_InitStructure.TIM_RepetitionCounter = 0; // 重复计数器为0
TIM_TimeBaseInit(TIM2, &TIM_InitStructure);
// 启用定时器2
TIM_Cmd(TIM2, ENABLE);
```
3. 最后,你可以根据需要配置定时器的其他功能,如中断、PWM等。
这样,你就成功地将STM32F103ZET6的定时器系统时钟配置为72MHz了。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)