打印
[学习资料]

使用凌鸥LKS MCU实现LED闪烁:基础代码解析与应用

[复制链接]
685|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
帛灿灿|  楼主 | 2024-10-2 16:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在使用凌鸥LKS系列的MCU做一些基础开发,今天就分享一个简单的LED闪烁小项目。这是很多人学习MCU的入门任务,通过这个例子可以熟悉LKS MCU的GPIO操作和基本的延时函数。

一、项目简介
这个项目的目标是通过LKS MCU控制开发板上的LED实现简单的闪烁效果。我们将设置一个GPIO引脚作为输出,并通过循环切换该引脚的电平来控制LED的亮灭。

二、硬件环境
  • 凌鸥LKS系列MCU开发板
  • 开发板上的LED(或者外接LED)
  • 开发工具:Keil或IAR
  • 烧录工具:LKS Debugger

三、代码实现
1. GPIO初始化
首先需要初始化GPIO,设定相应引脚为输出模式。代码如下:
#include "lks_mcu.h"  // 包含LKS MCU库文件

void GPIO_Init(void) {
    GPIO_InitTypeDef GPIO_InitStruct = {0};
   
    // 启用GPIO时钟
    __HAL_RCC_GPIOA_CLK_ENABLE();
   
    // 配置GPIO引脚为输出模式
    GPIO_InitStruct.Pin = GPIO_PIN_5;  // 假设LED连接在PA5引脚
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;  // 推挽输出模式
    GPIO_InitStruct.Pull = GPIO_NOPULL;  // 不使用上拉或下拉电阻
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;  // 设置为低速输出
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}

2. 延时函数
为了让LED闪烁,我们需要实现一个简单的延时函数,代码如下:

void Delay_ms(uint32_t ms) {
    HAL_Delay(ms);  // 使用HAL库提供的延时函数
}

3. 主程序
在主函数中,我们通过循环控制GPIO引脚的高低电平,实现LED的闪烁效果。

int main(void) {
    // 初始化系统时钟
    HAL_Init();
   
    // 初始化GPIO
    GPIO_Init();
   
    while (1) {
        // 点亮LED
        HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
        Delay_ms(500);  // 延时500ms
        
        // 熄灭LED
        HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
        Delay_ms(500);  // 延时500ms
    }
}

四、代码解析
  • GPIO初始化:通过GPIO_Init()函数,将PA5引脚设置为输出模式。你可以根据实际情况更改引脚配置。
  • 延时函数:HAL_Delay()提供了简便的延时功能,适合基础的时序控制。
  • 主程序循环:通过HAL_GPIO_WritePin()控制引脚的电平,500ms高电平后变为低电平,即LED每秒闪烁一次。

五、总结
这个简单的LED闪烁例子帮助我熟悉了凌鸥LKS MCU的基本操作,包括GPIO配置和延时函数使用。希望对大家入门开发有所帮助。如果你对凌鸥的其他功能有兴趣,比如PWM、ADC等,欢迎讨论!

使用特权

评论回复
沙发
公羊子丹| | 2024-10-2 16:02 | 只看该作者
这个LED闪烁的例子真是经典,LKS MCU用起来好像也蛮顺手的!

使用特权

评论回复
板凳
童雨竹| | 2024-10-2 16:02 | 只看该作者
感谢分享,正好手头有块凌鸥板子,准备试试这个代码!

使用特权

评论回复
地板
周半梅| | 2024-10-2 16:03 | 只看该作者
我也是刚入门MCU,LED闪烁真的很适合新手练手啊,简单又直观。

使用特权

评论回复
5
万图| | 2024-10-2 16:03 | 只看该作者
这段代码清晰易懂,我之前还搞不懂GPIO,现在终于有点头绪了!

使用特权

评论回复
6
Wordsworth| | 2024-10-2 16:04 | 只看该作者
延时函数用HAL库真方便,不用自己写延时了,省了不少麻烦。

使用特权

评论回复
7
Pulitzer| | 2024-10-2 16:04 | 只看该作者
PA5引脚是默认的吗?我板子上好像LED连的是别的引脚,改一下应该也行吧。

使用特权

评论回复
8
Bblythe| | 2024-10-2 16:04 | 只看该作者
我用的IAR,烧录之后效果还挺好,LED闪烁节奏很稳。

使用特权

评论回复
9
Uriah| | 2024-10-2 16:05 | 只看该作者
延时500ms看起来刚好,LED闪得不快不慢,刚开始用这个代码真是棒!

使用特权

评论回复
10
Clyde011| | 2024-10-2 16:05 | 只看该作者
下次能不能讲讲用LKS MCU做个温度传感器的项目?感觉这个MCU还有挺多潜力!

使用特权

评论回复
11
daichaodai| | 2024-10-3 23:05 | 只看该作者
用MCU来控制LED闪烁有点大财小用了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

3730

帖子

0

粉丝