学习编程的收获与体会

本文详细描述了使用STM32系列开发板和固件库通过配置GPIO控制LED灯的过程,包括步骤、所需工具和编程技巧,适合初学者入门嵌入式开发。
摘要由CSDN通过智能技术生成

在这门课程中,我学到了很多编程方面的知识和技能。身为一名计算机专业的学生,编程是必不可少的一项技能。但是在学习过程中,我才发现自己对编程的了解远不及想象中的深入,还有很多需要掌握和学习的知识。

首先,学习编程需要有一颗耐心的能力,不要被遇到的问题打乱自己的节奏,一步一步地去解决它。同时,我们需要养成良好的编码习惯,书写清晰的注释和易于维护的代码,这能节省我们的编码时间,并且让代码更加明了和易于阅读。

其次,编程需要精细的思路和清晰的表达能力,这也是我在学习过程中最大的收获。不仅要有全局的思考能力,更要有细节化的思考,比如处理一些异常情况和极端数据测试用例,这都需要我们用心去思考和处理。同时,良好的编程能让我们的程序运行更加快速高效地运行。

除此之外,我还学到了很多编程开发工具的使用技巧,比如 Git 版本控制和协同开发,以及一些编程工具的使用技巧,如 PyCharm、VS Code 等。有效的利用这些工具可以提高我们的工作效率,同时使我们的编程工作更加顺利。

总的来说,在这门课程中,我不仅学到了编程方面的知识和技能,更学会了如何去思考和分析问题,收获了一些理性的思考方式和方法。同时,我也认识到编程不仅仅是一项技能,更是一种能力,要想在编程领域获得成功,我们还需不断学习,不断深入思考和研究。

STM32系列开发板是一种基于ARM Cortex-M内核的微控制器开发板,广泛用于嵌入式系统的开发。在本文中,我们将使用STM32固件库来点亮一个LED灯。

首先,我们需要准备以下硬件和软件工具:
1. STM32系列开发板(例如STM32F4 Discovery)
2. USB数据线
3. 电脑上安装好的开发环境(如Keil MDK或STM32CubeIDE)

接下来,我们将按照以下步骤进行开发:

步骤1:创建新的工程
打开Keil MDK或STM32CubeIDE,创建一个新的工程。选择适合你的开发板型号,并设置好工程的名称和存储路径。

步骤2:配置系统时钟
在工程中,我们需要配置系统时钟,以便与开发板的时钟频率匹配。这可以通过修改RCC寄存器来实现。具体的配置方法可以参考开发板的参考手册或者官方文档。

步骤3:配置GPIO引脚
在STM32系列开发板上,LED通常连接到GPIO引脚。我们需要配置GPIO引脚作为输出模式,并将其连接到LED。

在STM32固件库中,GPIO引脚的配置可以通过修改GPIOx_MODER和GPIOx_OTYPER寄存器来实现。具体的配置方法可以参考开发板的参考手册或者官方文档。

步骤4:点亮LED灯
一旦GPIO引脚配置完成,我们就可以通过修改GPIOx_BSRR寄存器来点亮或熄灭LED。具体的操作方法是将相应的引脚位设置为1或0。

在STM32固件库中,可以使用GPIO_SetBits()和GPIO_ResetBits()函数来设置或清除GPIO引脚。具体的操作方法可以参考开发板的参考手册或者官方文档。

步骤5:编译和烧录固件
完成代码编写后,我们需要将代码编译成可执行文件,并将其烧录到STM32开发板上。

在Keil MDK中,可以点击"Build"按钮来编译代码,并使用ST-Link或J-Link等工具将可执行文件烧录到开发板上。

在STM32CubeIDE中,可以点击"Build"按钮来编译代码,并使用ST-Link或OpenOCD等工具将可执行文件烧录到开发板上。

步骤6:运行程序
完成烧录后,将开发板连接到电脑上,并通过串口调试工具或者开发板上的调试接口来查看程序的运行情况。

如果一切正常,LED灯应该会点亮。

/**
  ******************************************************************************
  * @file    main.c
  * @author  fire
  * @version V1.0
  * @date    2023-10-10
  * @brief   控制多彩流水灯
    @attention
  */
#include "stm32f4xx.h"
#include "./led/bsp_led.h"
 
void Delay(__IO u32 nCount); 
 
/**
  * @brief  主函数
  * @param  无
  * @retval 无
  */
int main(void)
{
    /* LED 端口初始化 */
    LED_GPIO_Config();
 
    /* 控制LED灯 */
    while (1)
    {
        LED1( ON );             // 亮 
        Delay(0xFFFFFF);
        LED1( OFF );          // 灭
 
        LED2( ON );            // 亮 
        Delay(0xFFFFFF);
        LED2( OFF );          // 灭
 
        LED3( ON );             // 亮 
        Delay(0xFFFFFF);
        LED3( OFF );          // 灭    
 
        /*轮流显示 红绿蓝黄紫青白 颜色*/
        LED_RED;
        Delay(0xFFFFFF);
        
        LED_GREEN;
        Delay(0xFFFFFF);
        
        LED_BLUE;
        Delay(0xFFFFFF);
        
        LED_YELLOW;
        Delay(0xFFFFFF);
        
        LED_PURPLE;
        Delay(0xFFFFFF);
                
        LED_CYAN;
        Delay(0xFFFFFF);
        
        LED_WHITE;
        Delay(0xFFFFFF);
        
        LED_RGBOFF;
        Delay(0xFFFFFF);
    }
}
 
void Delay(__IO uint32_t nCount)     //简单的延时函数
{
    for(; nCount != 0; nCount--);
}
/*********************************************END OF FILE**********************/
 

总结:
本文介绍了如何使用STM32系列开发板和固件库来点亮一个LED灯。通过配置GPIO引脚和修改相应的寄存器,我们可以控制LED的亮灭状态。这只是STM32开发的入门示例,你可以进一步探索更多的功能和应用。希望这篇文章对你有所帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值