见有好多人都用CubeMx进行STM32的开发,虽然使用STM32好多年了,但还是第一次使用这个工具啊。
官网下载好,安装好打开后,就是下面这个界面,新建 一个工程吧。
打开后要选择所使用的芯片型号,按下面这个图进行设置好。
选中你的使用的芯片型号,点击最下面的“OK”后,跳到如下的界面,进行芯片外设的配置。
从原理图中找到LED的控制引脚:
将PB7 、PB0 、PB14 都设置为GPIO 输出功能。 在芯片封装上找到这几个引脚,点击引脚后,选择GPIO_Output
选择后,它的封装上就将这个引脚锁定了。其他的引脚也是这样设置的。
可以在工程中加入FreeRTOS实时系统,在这个地方选择上Enable就可以了。
在如下图的方法中进行FreeRTOS 的配置。如下图是对FreeRTOS 内核的配置,例如:最大优先级,心跳时钟频率等等。
在Tasks andQueues中进行任务的操作,可以添加、删除任务。
默认是有一个任务,双击任务可以对任务时行编辑。 可以更改任务名称、优先级、堆栈大小、任务的进入函数、代码生成。
也可以自己添加任务,如下,添加一个名为myTask,入口函数为MyTask,堆栈为128的任务。
通过 ProjectSettings设置工程的名字与路径。 如下是我的设置。
全都设置好后,在ProjectàGeneration Code,将全部文件导出到之前设置的工程路径中。
使用keil打开上面的工程,编译通过。
在源程序中可以找到在FreeRTOS中建的两个任务都在main.c文件中。
自动使能了GPIOB的时钟。 不过,这个是一个宏定义,并不是一个函数。
最后,就是在任务中添加自己的代码了。 osDelay(500);
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_7);
让PB7的LED闪烁,将程序烧写入板子,蓝LED在闪烁了。
|