本帖最后由 丙丁先生 于 2024-12-15 11:13 编辑
### 示例描述
本示例描述了如何在G32A1465上使用RT-Thread。在这个示例中,你可以看到LED_GREEN不断闪烁,并通过串行助手打印信息。
### 硬件描述
- LED_RED: PD0
- LED_GREEN: PD15
- LED_BLUE: PD16
- KEY1: PC12
- KEY2: PC13
LPUART1配置如下:
- TX:PC7, RX:PC6
- 波特率 = 115200
- 字长 = 8位
- 一个停止位
- 无校验
- 禁用硬件流控(RTS和CTS信号)
- 启用传输
### 目录内容
### IDE环境
- MDK-ARM V5.36.0.0
- EWARM V8.50.5.26295
### 硬件和软件环境
- 本示例在G32A1465评估设备上运行。
```c
/* 包含头文件 */
#include "user_config.h"
#include "board.h"
#include <stdio.h>
#include "rtthread.h"
static rt_thread_t led_thread = RT_NULL; // 定义一个静态线程变量,初始值为RT_NULL
void led_thread_entry(void* parameter); // 声明LED线程的入口函数
int main(void)
{
/* 初始化LED */
LED_Init();
/* 创建线程 */
led_thread = rt_thread_create("led1", // 线程名称为"led1"
led_thread_entry, // 线程入口函数为led_thread_entry
RT_NULL, // 线程入口函数参数为RT_NULL
256, // 线程栈大小为256字节
3, // 线程优先级为3
20); // 线程时间片为20个系统节拍
/* 启动线程 */
rt_thread_startup(led_thread);
}
void led_thread_entry(void* parameter)
{
while (1)
{
LED_Toggle(LED_GREEN); // 切换绿色LED的状态
rt_thread_delay(1000); // 延迟1秒(1000个系统节拍)
}
}
```
|