[STM32 HAL]立创天空星开发板STM32F407VET6开发过程1——LED使用结构体方式实现

本文介绍了使用立创开发板进行工程创建,包括时钟树配置、LED和按键设置,以及使用CubeMX和KEIL进行代码编写,重点讲解了LED控制结构体的定义和应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言: 由于立创搞活动19.9 ,我就搞了一个立创的开发板(ps: 实际上是加运费28.9)。想着来学习一下。

我写代码很少废话的,接下来是开门见山的东西。

立创·梁山派·天空星开发文档icon-default.png?t=N7T8https://lceda001.feishu.cn/wiki/QaWRwow7TiXHhgkwF5mcxZLsne7

目录

图片展示

一、创建工程

New一个工程

进行基础的参数修改

时钟树配置

配置LED引脚与WK_UP 

工程生成

二、接下来是KEIL环节

代码环节

定义结构体 

构建LED函数

初始化结构体

代码测试

编译&烧录

结果展示


-------------------------------------------------------分隔符--------------------------------------------------------------

一、创建工程

这里使用的是CubeMX进行工程构建,官方的是标准库。 

New一个工程

进行基础的参数修改

### 嘉天空F407 示例代码与教程 对于嘉天空 GD32F407VET6 的开发,构建 FreeRTOS 工程的过程可以作为学习的基础。该芯片基于 ARM Cortex-M4 架构,支持多种外设接口和功能模块。 #### 使用 HAL 库初始化 GPIO 及 LED 控制 为了快速上手并理解如何操作硬件资源,在官方提供的 SDK 中通常会包含一些基础示例项目来帮助开发者熟悉环境配置以及基本 I/O 操作方法: ```c #include "gd32f4xx.h" void led_init(void){ rcu_periph_clock_enable(RCU_GPIOA); // 开启GPIOA时钟 gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_1); gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_1); } int main(void){ led_init(); while(1){ /* Toggle the LED */ gpio_bit_toggle(GPIOA, GPIO_PIN_1); delay_1ms(500); // 自定义延时函数实现大约500毫秒延迟 } } ``` 这段简单的 C 语言代码展示了如何通过设置寄存器的方式控制板载 LED 的亮灭状态[^1]。 #### 建 FreeRTOS 实时操作系统应用实例 当涉及到更复杂的多任务处理需求时,则可以通过引入 RTOS 来简化编程模型。下面是一个建两个任务并在其中循环打印消息的例子: ```c #include "FreeRTOS.h" #include "task.h" #include "semphr.h" #define TASK_STACK_SIZE 128 #define TASK_PRIORITY tskIDLE_PRIORITY + 1 static void vTaskFunction(void *pvParameters) { const char* pcTaskName = (char*) pvParameters; while(1){ printf("%s is running\n",pcTaskName ); vTaskDelay(pdMS_TO_TICKS(1000)); } } int main() { xTaskCreate(vTaskFunction,"Task1", TASK_STACK_SIZE, (void*)"Task1", TASK_PRIORITY, NULL ); xTaskCreate(vTaskFunction,"Task2", TASK_STACK_SIZE, (void*)"Task2", TASK_PRIORITY, NULL ); vTaskStartScheduler(); for (;;); } ``` 此代码片段说明了怎样利用 FreeRTOS API 定义多个并发执行的任务单元,并让它们按照一定的时间间隔交替运行。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值