理解力STM32时钟是我们的应用定时器等的基础,据总结近期工作:以下是一STM32时钟树:1.首先注意的的是图中画绿色圈圈的两个,HSE和HSI分别表示外部时钟和内部时钟,当中HSE 是是快速外部时钟。可接石英/陶瓷谐振器,或者接外部时钟源,HSE 也能够直接做为系统时钟或者 PLL 输入(从红圈4...
转载
2015-10-26 15:21:00
349阅读
2评论
Board:STM32F4xx和Framework:CMSIS cmsis核心库的安装路径是 /home/[your user]/.platformio/packages/framework-cmsis 对应了STM32Cube完整库 Drivers/CMSIS/ 路径下的内容 多了一个Driver ...
转载
2021-09-13 01:46:00
882阅读
2评论
在如今能源紧张的时代,如果才能够更加“省电”一直是各大MCU制造公司关注的重点。在不断提高性能的同时,系统功耗也在不断的降低。STM32F4作为一款工控领域的M4内核的信号处理MCU,其功耗也一定有过人之处。首先让我们请出今天测试的主角:STM32F4 DISCOVERY 评估板,关于这款评估板的详细介绍可以参考前面的帖子。除了主角外,一场戏要完美谢幕,配角当然也必不可少。 最先登场的是优利德37
0 前言 由于单片机的工作常常会受到来自外界电磁场的干扰,造成各种寄存器和内存数据混乱,会导致程序指针错误,不在程序区,取出错误的程序指令等,都会陷入死循环,程序的正常运行被打断,由单片机的系统无法正常工作,会造成整个系统陷入停滞状态,发生不可预料的后果。1 简介 STM32F4xx具有两个看门狗外设,均可用于检测并解决由软件错误导致的故障,当计数器达到给定的超时值时,触发一个中断
STM32F407 USB 库源码详解(custom HID)首先我列出几个非常棒的参考文档:Keil USB documentationhttp://www.keil.com/pack/doc/mw/USB/html/index.htmlUSB_in_a_Nutshellhttps://www.beyondlogic.org/usbnutshell/usb1.shtmlUSB基础知识...
原创
2021-07-14 16:16:15
1485阅读
STM32F407 USB 库源码详解(custom HID)首先我列出几个非常棒的参考文档:Keil USB documentationhttp://www.keil.com/pack/doc/mw/USB/html/index.htmlUSB_in_a_Nutshellhttps://www.beyondlogic.org/usbnutshell/usb1.shtmlUSB基础知识...
原创
2022-02-04 09:48:19
1511阅读
Keil 中使用 STM32F4xx 硬件浮点单元一.前言有工程师反应说 Keil 下无法使用 STM32F4xx 硬件浮点单元, 导致当运算浮点时运算时间过长,还有 一些人反应不知如何使用芯片芯片内部的复杂数学运算,比如三角函数运算。针对这个部分本文将详 细介绍如何使用硬件浮点单元以及相关数学运算。二.问题产生原因1. ------对于Keil MDK Version 5 版本, 编译器已经完全
转载
2018-04-17 14:20:00
152阅读
2评论
每次接触一款新的单片机,我都会很好奇该单片机的系统时钟是多少MHz,怎样才能达到Datasheet中描述的最大系统时钟,该单片机的外设的时钟会是多少MHz呢?如果要使用延时,我怎么编写程序才能实现精准的延时呢?我认为这些问题是我开始接触新单片机之前需要了解的。对于每款ARM Cortex-M系列单片机而言,厂商为了更好的推广自己的单片机,同时方便设计人员使用,降低产品开发周期,都会将该单片机的外设
原创
2016-04-28 22:53:00
2949阅读
今天自己做的STM32F405RG的板子回来了,其实就是一个最小系统,只使用普通的IO口做测试,使用一部分I/O作为数据的输入,一部分I/O作为数据的输出。程序则使用自己前几天根据项目需要在MDK4.74上编写的,程序编译完成之后,没有错误,逻辑也正确。焊接好之后,将编译后的程序通过ST-Link V2 SWD模式下载到处理器中,第一次没有出
原创
2016-03-10 23:06:39
10000+阅读
在使用单片机时,经常要使用到一定时间的延时,而对于像STM32F405RG这种单片机而言,一方面,由于Cortex-M3/Cortex-M4的主频比较高,如果使用for循环或者while循环,循环的变量非常之大,另一方面,使用SysTick实现,延时比较准确。延时程序如下所示:voidDelayMs(unsignedshortTime){SysTick->LOAD=(unsignedlong)Ti
原创
2019-04-21 11:38:58
4476阅读
http://mp.weixin.qq.com/s/CDyZ8v2kLiyuIBHf7iqEPA
转载
2018-03-15 14:16:00
24阅读
2评论
## 如何使用stm32f4xx_dsp_stdperiph_lib
### 1. 概述
在使用stm32f4xx_dsp_stdperiph_lib之前,我们需要明白这是一个面向stm32f4系列芯片的DSP(数字信号处理)标准外设库。该库提供了许多常用外设的驱动函数,使开发者可以更方便地使用这些外设功能。
### 2. 实现步骤
为了帮助你快速上手使用stm32f4xx_dsp_stdpe
原创
2024-04-30 09:36:28
438阅读
在单片机中,STM32系列对中断优先级的管理算是相对比较容易的,优先级的数量也相对较少。STM32F40X的中断优先级和STM32F10X的设置是完全一样的,
原创
2022-02-08 15:22:27
533阅读
在单片机中,STM32系列对中断优先级的管理算是相对比较容易的,优先级的数量也相对较少。STM32F40X的中断优先级和STM32F10X的设置是完全一样的,具体情况STM32F10X可参考ST官网的编程手册PM0056, STM32F40X可参考PM0214,其中SCB->AIRCR的PRIGROUP配置表是这样的,这里的Group priority就是我们通常说的抢占优...
原创
2021-07-14 16:16:26
180阅读
STM32F40xx搭建Keil工程编译错误(stm32f4xx_fmc.c)(stm32f4xx_fsmc.c) 状况: 搭建完Keil工程后进行编译后发生如下的错误: 就是说一堆的宏没有定义。 原因: stm32f4xx_fmc.c的在固件库中的一个外设,仅作用于STM32F429_439xx、 ...
转载
2021-10-12 07:08:00
735阅读
2评论
HAL_PCDEx_SetRxFiFo 和 HAL_PCDEx_SetTxFiFo这两个函数的作用是:该EndPoint数据传输最大数量的限定除前面贴子里廛的影响数据传输量的函数外,这两个HAL_PCDEx_SetRxFiFo / HAL_PCDEx_SetTxFiFo函数也值得注意。其一,这两个函数是有使用顺序的(参考USBD_LL_Init函数):HAL_PCDEx_SetRxFi...
原创
2022-02-04 09:48:18
962阅读
关于如何使用CCM RAM, ST官方文件中已经说得很清楚了,这里就不再重复了,参考(点击下载):AN4296 Use STM32F3/STM32G4 CCM SRAM with IAR™ EWARM, Keil® MDK-ARM and GNU-based toolchains这里要注意的是,CCM直接连接到了D-BUS上面,下面两张图,一张来自AN4296
原创
2021-07-06 09:36:52
964阅读
1评论
介绍两点:其一是CCM (core coupled memory)是在CPU核里的,速度更快,所以可以把最常用的,最频繁用的程序段放到这里面;其二是,如何高效地使用scatter file配置使用CCM;第一点:一般介绍关于如何使用CCM RAM, ST官方文件中已经说得很清楚了,这里就不再重复了,参考(点击下载):AN4296 Use STM32F3/STM32G4 CCM SRAM with
原创
2022-02-08 15:31:32
1286阅读
HAL_PCDEx_SetRxFiFo 和 HAL_PCDEx_SetTxFiFo这两个函数的作用是:该EndPoint数据传输最大数量的限定除前面贴子里廛的影响数据传输量的函数外,这两个HAL_PCDEx_SetRxFiFo / HAL_PCDEx_SetTxFiFo函数也值得注意。其一,这两个函数是有使用顺序的(参考USBD_LL_Init函数):HAL_PCDEx_SetRxFi...
原创
2021-07-14 16:16:13
959阅读
STM32 F407 采用 Cortex-M4 的内核,该内核的 Fault 异常可以捕获非法的内存访问和非法的编程行为。Fault异常能够检测到以下几类非法行为: 总线 Fault: 在取址、数据读/写、取中断变量、进入/退出中断时寄存器堆栈操作(入栈/出栈)时检测到内存访问错误。 存储器管理 F
转载
2019-07-06 11:41:00
856阅读
2评论