推荐阅读最新更新时间:2024-03-16 16:07
STM32系统时钟默认设置
“我们一直都说STM32有一个非常复杂的时钟系统,然而在原子或者野火的例程中,只要涉及到时钟,我们却只能看到类似的库函数调用,如RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);这个仅仅只是起到开启挂载在APB2线上的USART1时钟的作用罢了,APB2的时钟频率是多少我们并不知道” 我们先来了解一些stm32的时钟结构。 这个图说明了STM32的时钟走向,从图的左边开始,从时钟源一步步分配到外设时钟。 从时钟频率来说,又分为高速时钟和低速时钟,高速时钟是提供给芯片主体的主时钟,而低速时钟只是提供给芯片中的RTC(实时时钟)
[单片机]
STM32 DSP库 使用注意点
DSP库 使用注意点 我们平常所使用的CPU为定点CPU,意思是进行整点数值运算的CPU。当遇到形如1.1+1.1的浮点数运算时,定点CPU就遇到大难题了。对于32位单片机,利用Q化处理能发挥他本身的性能,但是精度和速度仍然不会提高很多。 现在设计出了一个新的CPU,叫做FPU,这个芯片专门处理浮点数的运算,这样处理器就将整点数和浮点数分开来处理,整点数交由定点CPU处理而浮点数交由FPU处理。我们见到过TI的DSP,还有STM32F4系列的带有DSP功能的微控制器。前者笔者没有用过,不作评论,而后者如果需要用到FPU的浮点运算功能,必须要进行一些必要的设置。 首先,由于浮点运算在FPU中进行,所以首先应该使能FPU运
[单片机]
ST扩展STM32MP1生态系统,促进AI和IoT应用开发
意法半导体宣布进一步扩大资源丰富的STM32MP1*双核微处理器开发生态系统,增加新软件包,系统可支持最先进的开源安全计划。 通过提供实现OP-TEE(开放式便携式受信任执行环境)和TF-A(可信固件-A)项目等安全机制的软件代码,意法半导体帮助STM32MP1开发人员分析解决在实际应用开发中遇到的重要的信息安全概念:机密性、完整性、可用性和真伪验证。此外,意法半导体还与Sequitur Labs公司合作扩大嵌入式安全授权合作伙伴名单。 Sequitur Labs 的EmSPARK™ Security Suite for STM32MP1安全套件可简化安全启动、设备验证等保护技术的固件开发。Sequitur Labs
[单片机]
STM32学习之使用库函数编写串口通信
注:使用的芯片是STM32F103ZET6 一、串口初始化部分的程序 1.初始化时钟 因为要使用串口1这个外设,因此在使用之前就需要开启串口1的时钟,并且之后还需要设置IO输入输出的模式,在这里我们也需要开启GPIO的时钟。程序如下: //初始化串口时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); //初始化GPIO时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); 可是为什么要初始化时钟呢在《STM32中文参考手册_V10》的RCC中有这样一句话“当外设时钟没有启用时,软件不能读出
[单片机]
STM32HAL库定时器中断关闭的方法
本文可以用于解决这个问题:定时器中断上电后莫名其妙开启,或者首先触发一次。 STM32HAL库在定时器初始化并开启以后,也是会默认开启中断。如不需要默认就开启中断可以用一下代码关闭: __HAL_TIM_CLEAR_FLAG(&htim6,TIM_FLAG_UPDATE); 其中htim6是定时器的句柄,按照实际使用的定时器填写; TIM_FLAG_UPDATE是中断的类型,也可以根据实际情况修改
[单片机]
STM32的时钟树与配置方法
时钟信号推动单片机内各个部分执行相应的指令,时钟就像人的心跳一样。 STM32本身十分复杂,外设非常多,任何外设都需要时钟才能启动,但并不是所有的外设都需要系统时钟那么高的频率,如果都用高速时钟势必造成浪费。同一个电路,时钟越快功耗越大、抗电磁干扰能力越弱。复杂的MCU采用多时钟源的方法来解决这些问题。如下图,是STM32的时钟系统框图。 如上图左边的部分,看到STM32有4个独立时钟源,HSI、HSE、LSI、LSE。 HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。 HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 LSI是低速内部时钟,RC振荡器,频率为40k
[单片机]
时钟控制RCC应用与详细解析
时钟控制RCC 为什么需要时钟系统? 时钟系统就像一个中枢神经,驱动着芯片上所有的器件在同一时间按照特定的工作频率进行工作。我认为时钟系统有如下功能: ① 时钟系统相当于一个“频率适配器”。我们生活中常用的是电压适配器,全球每个国家的工频电压不太一样,我们如果到这些国家旅行不可能带适配于特定国家的电源充电器吧,这太繁琐了,要实现“一器多用”,就要有适配器的概念。在STM32中,有许多器件,这些器件在工作时需要的频率不一样,例如:GPIO工作在性能状态时其工作频率是72MHz,但是如果把那么高的频率用在ADC采样(工作的最大频率为14MHz)上就直接完犊子了,我们知道ADC是“模拟量- 数字量”,过高的频率会导致采样失真,就相当
[单片机]
STM32单片机中断详解
中断,在单片机中占有非常重要的地位。代码默认地从上向下执行,遇到条件或者其他语句,会按照指定的地方跳转。而在单片机执行代码的过程中,难免会有一些突发的情况需要处理,这样就会打断当前的代码,待处理完突发情况之后,程序会回到被打断的地方继续执行。 1 EXTI控制器 外部中断/事件控制器(EXTI)管理了控制器的 23 个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI 可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。 外部信号进入经过1的边沿检测电路,检测是否符合(有2和3的上升沿和下降沿选择寄存器决定),产生信号,然后和4软件
[单片机]