1 安装CubeMX
安装过程很多地方都有,我就不讲了。嘿嘿,这一节用来凑个字数。
开始之前,你要有一些基础的电路和单片机的知识,比如三极管、IO口什么的。就像你玩电脑首先得知道鼠标是用手拿而不是用脚推的。
2 用CubeMX创建第一个project
让我们进入正题,先来看一下CubeMX长啥样:

哇,看到那个file了没,点他!点他!!点完之后新建project,会出现这个东西,应该是一些检测更新啥的,直接点取消就行。

取消之后会让你选择型号,这里我用的是正点原子的stm32f429IGT6

第一个工程创建完毕,接下来让我们用CubeMX生成第一个代码
3 一些关于CubeMX的基础
3.1 软件界面

最常用到的是前面三个模块
[tr]项目功能[/tr]Pinout&Configuration用来配置IO口、定时器、通讯等配置,可以说是最常用的东西
Clock Configuration用来配置时钟,倍频什么的(对stm32时钟这一块有点迷)
Project Manager用来设置一些project和生成的代码的东西
建议把下图中这一项打上对勾,这样生成代码的时候主函数main.c里面就不会有很多函数,清爽~~

PS:project路径不能有中文哦,不然生成的时候会报错。
3.2 代码保护区
CubeMX有一个代码保护区的概念,因为在单片机开发过程中,很多东西是在中途加进去的,中间手动进行配置就会麻烦。
CubeMX生成的代码中有代码保护区,你可以在任何地方进行单片机代码的书写编译,但是再次用CubeMX配置并生成代码时,只有代码保护区中的代码会保留下来。
这里我们不做任何配置直接生成代码

4 让我们来点灯吧
4.1 电路原理图
接下来配置一下最基础的IO口,并点亮第一颗LDE。
这张图是板子上LED的接线图,可以看到LED灯接线接到了PB0和PB1。所以我们需要配置PB0和PB1为输出模式。

4.2 CubeMX配置IO口
在右边芯片上找到PB0和PB1,选择GPIO_Output模式

这个时候点开左边System Core中的GPIO,就会多出来PB0和PB1的配置,选择对应的模式即可,这里我选择推挽输出并且初始化状态一高一低。

最后在SYS中将debug改成SW模式,生成代码并打开。

4.3 完成代码
先编译一下生成的代码

打开我们的GPIO函数库,发现里面有函数
HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
根据函数名和@brief中的介绍
@brief Toggles the specified GPIO pins.
可以得知,该函数是用来将指定引脚高低电平进行反转的,适合用来让一颗LED灯闪烁。

同样找到延时函数HAL_Delay(uint32_t Delay)
在while(1)中写一个让LED不断闪烁的程序
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
HAL_GPIO_TogglePin((GPIO_TypeDef*) GPIOB, (uint16_t) GPIO_PIN_0);
HAL_GPIO_TogglePin((GPIO_TypeDef*) GPIOB, (uint16_t) GPIO_PIN_1);
HAL_Delay(200);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
编译通过,选择好自己的下载器下载就可以了。
这个经过实验是没问题的哈,不知道咋放GIF图就不放了。有啥子问题留言私信我都行。
1 安装CubeMX
安装过程很多地方都有,我就不讲了。嘿嘿,这一节用来凑个字数。
开始之前,你要有一些基础的电路和单片机的知识,比如三极管、IO口什么的。就像你玩电脑首先得知道鼠标是用手拿而不是用脚推的。
2 用CubeMX创建第一个project
让我们进入正题,先来看一下CubeMX长啥样:

哇,看到那个file了没,点他!点他!!点完之后新建project,会出现这个东西,应该是一些检测更新啥的,直接点取消就行。

取消之后会让你选择型号,这里我用的是正点原子的stm32f429IGT6

第一个工程创建完毕,接下来让我们用CubeMX生成第一个代码
3 一些关于CubeMX的基础
3.1 软件界面

最常用到的是前面三个模块
[tr]项目功能[/tr]Pinout&Configuration用来配置IO口、定时器、通讯等配置,可以说是最常用的东西
Clock Configuration用来配置时钟,倍频什么的(对stm32时钟这一块有点迷)
Project Manager用来设置一些project和生成的代码的东西
建议把下图中这一项打上对勾,这样生成代码的时候主函数main.c里面就不会有很多函数,清爽~~

PS:project路径不能有中文哦,不然生成的时候会报错。
3.2 代码保护区
CubeMX有一个代码保护区的概念,因为在单片机开发过程中,很多东西是在中途加进去的,中间手动进行配置就会麻烦。
CubeMX生成的代码中有代码保护区,你可以在任何地方进行单片机代码的书写编译,但是再次用CubeMX配置并生成代码时,只有代码保护区中的代码会保留下来。
这里我们不做任何配置直接生成代码

4 让我们来点灯吧
4.1 电路原理图
接下来配置一下最基础的IO口,并点亮第一颗LDE。
这张图是板子上LED的接线图,可以看到LED灯接线接到了PB0和PB1。所以我们需要配置PB0和PB1为输出模式。

4.2 CubeMX配置IO口
在右边芯片上找到PB0和PB1,选择GPIO_Output模式

这个时候点开左边System Core中的GPIO,就会多出来PB0和PB1的配置,选择对应的模式即可,这里我选择推挽输出并且初始化状态一高一低。

最后在SYS中将debug改成SW模式,生成代码并打开。

4.3 完成代码
先编译一下生成的代码

打开我们的GPIO函数库,发现里面有函数
HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
根据函数名和@brief中的介绍
@brief Toggles the specified GPIO pins.
可以得知,该函数是用来将指定引脚高低电平进行反转的,适合用来让一颗LED灯闪烁。

同样找到延时函数HAL_Delay(uint32_t Delay)
在while(1)中写一个让LED不断闪烁的程序
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
HAL_GPIO_TogglePin((GPIO_TypeDef*) GPIOB, (uint16_t) GPIO_PIN_0);
HAL_GPIO_TogglePin((GPIO_TypeDef*) GPIOB, (uint16_t) GPIO_PIN_1);
HAL_Delay(200);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
编译通过,选择好自己的下载器下载就可以了。
这个经过实验是没问题的哈,不知道咋放GIF图就不放了。有啥子问题留言私信我都行。
举报