历史上的今天
返回首页

历史上的今天

今天是:2024年08月25日(星期日)

正在发生

2020年08月25日 | STM32CubeMX时钟配置详解

2020-08-25 来源:eefocus

软件:
(1)STM32CubeMX
(2)SW4STM32
实验平台:STM32F407VET6开发板


使用STM32CubeMX的一个好处就是图形化配置,在时钟配置方面,主要了解清楚高级外设总线(APB1、APB2)控制哪些外设。
(0)先配置好PA6、PA7(控制LED灯),好观察实验现象
这里写图片描述
(1)首先配置RCC(复位和时钟控制),选择外部高速始终,如下图
这里写图片描述

(2)为了测试不同APB的时钟频率效果,在此选择了TIM1和TIM2,按下图配置
这里写图片描述

(3)为什么选择以上两个定时器作为例子?参考STM32F4XX中文参考手册,找到RCC相关内容,如图
这里写图片描述
这里写图片描述
可知TIM1 在APB2,TIM2 在APB1

(4)进入时钟配置,我的STM32F407开发板外部晶振是8MHz的,在Input freequency 输入8,在HCLK 那里会提示最大频率168MHz,输入168,然后自动寻求配置,注意第一次配置出来的还是内部时钟HSI 的,要选择为HSE ,配置好后如下图
这里写图片描述
顺便提一下,STM32F103的开发板也差不多的,只不过F1的最高时钟频率是72MHz。
(5)配置好后时钟后可以看到APB1 定时器(如TIM2)频率为84MHz,APB2 定时器(如TIM1)频率为168MHz

(6)设置NVIC,TIM1是高级定时器,选择更新中断,TIM2是通用定时器
这里写图片描述
这里写图片描述
除了定时器,我自己还设置了两个串口中断,可以不用理会

(7)设置定时器
这里写图片描述
这里写图片描述
上面两个定时器设置实现的都是定时1s进入中断处理。


以TIM1为例,APB2时钟频率168MHz=168,000,000Hz,选取预分频系数(Prescaler)(16位存储,预分频系数最大65535)为16799,则定时器的时钟频率为168,000,000 / 16800 = 10000 Hz,频率为1万赫兹,选取计数周期(Counter Period,16位存储)为9999, 所以定时周期1s,同理TIM2也是同样计算,如果APB的时钟频率改变,一样安装上面的方法进行设置。

(8)生成SW4STM32工程,打开,在main函数里面while前启动定时器,如下代码

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  HAL_TIM_Base_Start_IT(&htim1);/启动定时器
  HAL_TIM_Base_Start_IT(&htim2);
  while (1)
  {

  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */

  }
  /* USER CODE END 3 */12345678910111213

(9)编写定时器中断

/* USER CODE BEGIN 4 */

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
	if(htim->Instance == TIM2)	// 判断哪个定时器中断
	{
		HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_6);	// 翻转灯
	}
	if(htim->Instance == TIM1)	// 判断哪个定时器中断
	{
		HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_7);	// 翻转灯
	}

}

/* USER CODE END 4 */12345678910111213141516

最后烧写到开发板实现预定效果,对定时器中断的详细视频介绍可以参考博主制作的相关视频,一个是在proteus仿真实现的,另一个是结合freertos实现的:https://www.bilibili.com/video/av63392182, https://www.bilibili.com/video/av63560586

推荐阅读

史海拾趣

Bipolar Integrated Technology Inc公司的发展小趣事

面对日益严峻的环境问题,BIT积极响应可持续发展的号召。他们开始研发更加环保、节能的电子产品,并推动整个行业向绿色、低碳的方向发展。同时,BIT还加大了对人才培养和技术研发的投入,为公司的未来发展奠定了坚实的基础。

请注意,以上故事仅为虚构示例,旨在展示一个电子行业中公司可能的发展历程。在实际中,每个公司的发展都有其独特的轨迹和经历。

Carlo Gavazzi公司的发展小趣事

为了进一步拓展市场,Carlo Gavazzi公司开始实施国际化战略。公司先后在多个国家和地区设立销售和服务团队,将产品和服务推向全球市场。这一过程中,公司不仅面临着文化差异和市场环境的挑战,也积极寻求与当地企业的合作与共赢。通过不断努力,公司逐渐在全球范围内建立起自己的品牌形象和市场地位。

DURABLE公司的发展小趣事

随着环保意识的日益增强,DURABLE公司积极响应全球绿色发展的号召,将环保理念融入产品研发和生产过程中。公司投入大量资金用于研发环保型电子材料,并成功推出了一系列具有环保性能的产品。这些产品不仅满足了市场对环保产品的需求,还为公司赢得了良好的社会声誉。同时,DURABLE还积极推广绿色生产和循环经济理念,为电子行业的可持续发展做出了积极贡献。

优先(苏州)半导体公司的发展小趣事

某苏州半导体公司自成立以来就坚持国际化战略,积极拓展海外市场。公司拥有一支高素质的研发团队和技术人员队伍,不断引进国际先进技术和设备,提高产品质量和竞争力。同时,公司积极参与国际交流与合作,与国际知名半导体企业建立了长期稳定的合作关系。这些举措使公司在国际市场上获得了良好的声誉和地位,产品远销欧美、日韩等国家和地区。随着公司规模的不断扩大和实力的不断增强,某苏州半导体公司将继续秉承国际化战略,推动公司向更高层次、更广领域发展。

这些故事展示了苏州半导体公司在不同领域和方面的发展和成就。这些公司凭借自身的技术实力、创新能力和市场洞察力,在激烈的竞争中脱颖而出,成为电子行业的佼佼者。

Alpha Industries公司的发展小趣事

随着互联网技术的普及,电子商务成为了越来越多消费者的首选购物方式。Alpha Industries抓住这一机遇,积极拓展电子商务平台。公司在各大电商平台上开设官方旗舰店,并通过社交媒体进行品牌推广。此外,Alpha Industries还开发了自己的官方网站和移动应用,为消费者提供更加便捷的购物体验。电子商务平台的拓展使得Alpha Industries的产品能够更好地触达消费者,进一步提升了品牌知名度和市场占有率。

Avic公司的发展小趣事

Avic公司注重提升自主创新能力,不断加大在航空电子技术领域的研发投入。公司建立了一支高素质的研发团队,并积极引进国内外先进的研发设备和技术。这些措施有效提升了公司的创新能力,为公司在航空电子领域的持续发展提供了有力保障。

问答坊 | AI 解惑

航天测控电子设备电路板故障诊断技术

随着科学技术的快速发展,特别是数字技术及各种超大规模集成电路的广泛应用,电子装备尤其是军用电子装备结构越来越复杂,功能越来越完善,自动化程度也越来越高。虽然电子系统的性能得到提高,但是对测试和维修保障也产生了测试流程复杂、测试时间 ...…

查看全部问答>

菜鸟问题:wince开发,需要什么样的开发环境?及好书推荐~!

本人有多年的CB6、asp.net(C#)、Java经验,现在因工作需要,想搞下wince,可是,盲人骑瞎马,等待楼下各位指点下迷津. vs2008和2005我比较熟,vc6一般,这种情况下,我应该搭什么样的开发环境?具体应用是做一个产品,电子词典结合mp4 这两天我搞 ...…

查看全部问答>

今天收到SST,有个问题想问大家,在线等!

今天收到SST89C58,DIP40的,空片,直接用串口电路(MAX232)对其进行在线编程,能写进去吗?需要注意些什么?…

查看全部问答>

GSM模块参数设置问题?

我用的GSM模块是EM310 现在硬件电路还没出来,公司让我写设计先, 我想知道,如果发送命令 第一步:(AT%ETCPIP=”dtu”,”123”), 注册网络用户名dtu和密码123 第二步:(AT%ETCPIP= ,”333”) 那么用户名是被设置为了默认值还是空或者还 ...…

查看全部问答>

可有偿哦-有高手能提供点读笔芯片组开发支持吗,或提供芯片原组代码

想做一款点读的东东,好像有好几个厂家的芯片组可以选择,请问谁可以提供开发芯片组(或在哪儿有代理可以买),有源代码更好了,兄弟自己掏点儿银子也行啊,哈哈…

查看全部问答>

求华恒ARM9-EDU实验箱的光盘!!!

学校实验室把光盘搞丢了(郁闷),本人急需该试验箱资料,特别是光盘,邮箱地址:MrGanCheng@gmail.com 如果没有光盘资料的话,能够提供实验箱上LCD(HHARM9-LCD-R4)的资料或初始化代码(Linux和Wince代码均可)也可以 (如能提供全部资料,我给10 ...…

查看全部问答>

这中断是咋回事??

最近在调CC1101,中断本来就已经调好了的,,,无奈又出毛病了,,,找不出哪有毛病,就重新建了一个工程,单独做个中断,,就是LAUNCHPAD上面那两个按钮,按一下进入中断把灯点亮. 结果竟然不行......也找不出毛病在哪....... #include \"inc/hw_memmap.h\" ...…

查看全部问答>

来自太阳系的你

也许,有些时候,你会认为自己是一种超脱于人类的存在,所以相对于时分秒这样微不足道的时间单位,你更愿意在至少是太阳系的尺度上来考虑时间——这便是厂商Van Cleef & Arpels带来的太阳系腕表(Midnight Planétarium)。宛若星海一般的表盘,上 ...…

查看全部问答>