对于一个STM32工程,如何知道需要初始化哪些东西?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对于一个STM32工程,如何知道需要初始化哪些东西?相关的知识,希望对你有一定的参考价值。
参考技术A 首先,stm32的时钟是根据需要开启的,所以当你要操作IO口的时候就得开启时钟RCC_APB2PeriphClockCmd然后你得配置IO口的速率(GPIO_InitStructure.GPIO_Speed),输出或输入的模式(GPIO_InitStructure.GPIO_Mode
),以及用到的引脚(
GPIO_InitStructure.GPIO_Pin
=
GPIO_LED_ALL;
)
当然这只是配置IO口方面,当你要建立工程进行流水灯操作时,还得配置系统时钟,要不系统怎么工作呢,对于最简单的流水灯实验只要这些配置就够了,因为延时函数可以自己写当时间要求不那么严格可以不用定时器
当你要用到定时器时在配置定时器,用到中断时再配置中断,,等等等
至于具体的各个部分怎么配置那就自己找资料和实验了 参考技术B 首先,stm32的时钟是根据需要开启的,所以当你要操作IO口的时候就得开启时钟RCC_APB2PeriphClockCmd
然后你得配置IO口的速率(GPIO_InitStructure.GPIO_Speed),输出或输入的模式(GPIO_InitStructure.GPIO_Mode
),以及用到的引脚(
GPIO_InitStructure.GPIO_Pin
=
GPIO_LED_ALL;
) 参考技术C 这个是初始化GPIO,你需要用什么东西就配置什么,但是一般RCC和GPIO是都需要去配置的,怎么说呢,芯片运行什么总是从GPIO体现出来的吧,时钟RCC相当于一切的能源,这个必须要。其他的,例如你要使用STM32的SPI,IIC,FSMC等等,你就要配置相应的GPIO,RCC,以及SPI,IIC,FSMC配置等等。
使用STM32CubeMX生成STM32工程
使用STM32CubeMX生成STM32工程
引言
随着技术发展的越来越成熟,单片机开发已经出现越来越多好用的开发软件了。STM32CubeMX是一种图形工具,通过分步过程可以非常轻松地配置STM32微控制器和微处理生成相应的初始化C代码。可以对STM32开发提供很大的便捷。本文将介绍如何使用STM32CubeMX生成一个简单的STM32工程,为以后的开发奠定基础。
介绍
STM32CubeMX是被广泛使用的。它集成了芯片选型、引脚分配和功能配置,中间件配置,时钟配置,初始代码和项目的功能。
使用流程
-
首先创建一个新建一个ioc文件工程。
点击ACCESS TO MCU SELECTOR
-
选取到对应的芯片(这里选用STM32C8T6)
![ ](https://img-blog.csdnimg.cn/ec67ffe825e749a2b49e9bb6430af4ef.png -
RCC选取外部时钟
-
选择Debug(不选不能烧录和调试)
-
选择时钟源
若要使用RTOS的话,sys这里就不可以选取SysTick,要更换成其他定时器,这里我选用了TIM1,如果不跑操作系统那么也可以直接选择SysTick。
-
在GPIO中选择自己使用的引脚。
-
选择串口,设置里面的参数
-
选择FreeRTOS(不跑FreeRTO可以直接省略这步,初学者建议省略)
里面的参数选择自己用的,注意FreeRTOSConfig.h里面的信息都可以在这里配置。
添加任务
-
设置系统时钟
-
填写生成的工程信息(工程名称,存放位置等)
值得注意的是,MDK的最小版本千万不要选错 -
生成代码
-
成功的话会出现提示
-
我们进入代码,可以看到我们配置的内容代码都已经帮我们生成。
-
进入Keil 5后,不要忘了配置debug,不然会烧录失败。
-
我们编译一下,可以看到编译成功,下面我们就可以进行我们的后续开发了。
以上是关于对于一个STM32工程,如何知道需要初始化哪些东西?的主要内容,如果未能解决你的问题,请参考以下文章