title: HAL-Freertos 的使用记录以及自己对框架的理解希望指正
tags:
- STM32
- Hal
- Cubemax
文章目录
内容
主要利用的是vscode里面stm32forvscode
的插件
第一步就是创建cubmax的工程
-
RCC
-
调试方式 和 时基
这里Debug 不整好 这个板子就会变砖 要用线刷了
-
选择FREERTOS
-
选择最大频率
-
.c 和 .h 文件分开生成
生成!!
关于这个框架的建立
我选择如下这样 应用和驱动:
你新建了两个文件夹所以需要再makefile文件添加进来
这个插件可以帮你添加但是需要你设置一下
Drivers 层面
.c 文件
#include "led_driver.h"
/// @brief 全彩灯初始化
/// @param
void led_init(void)
{
HAL_GPIO_WritePin(RGB_PORT_R, RGB_PIN_R, GPIO_PIN_SET);
HAL_GPIO_WritePin(RGB_PORT_G, RGB_PIN_G, GPIO_PIN_SET);
HAL_GPIO_WritePin(RGB_PORT_B, RGB_PIN_B, GPIO_PIN_SET);
}
/// @brief 设置灯的颜色
/// @param red
/// @param green
/// @param blue
void color_led_set(uint8_t red, uint8_t green, uint8_t blue)
{
//红灯:
HAL_GPIO_WritePin(RGB_PORT_R, RGB_PIN_R, (GPIO_PinState)!red);
//绿灯:
HAL_GPIO_WritePin(RGB_PORT_G, RGB_PIN_G, (GPIO_PinState)!green);
//蓝灯:
HAL_GPIO_WritePin(RGB_PORT_B, RGB_PIN_B, (GPIO_PinState)!blue);
}
.h文件
#ifndef __LED_DRIVER_H__
#define __LED_DRIVER_H__
#include "main.h"
#ifdef __cplusplus
extern "C" {