一、前言

STM32系列众多,大体上可以分为低端、中端和高端三类芯片,江协科技讲的103C8T6属于中端芯片,功能和外设不多,适合初学者入门,正点原子讲的课三类都有涉及,适合作为提高学习,但还是不建议直接学习高端系列如F7、H7系列,上手难度比较大。接下来是我的学习笔记,基于但不限于正点原子的课程实验。

二、cubeMX工程基础配置

cubeMX生成工程,需要下载相应的芯片支持包,可以在软件内下载,也可以手动去ST官网下载,这里不再赘述,用过cube的应该都知道,需要在图形化配置界面开启相应的功能,通用的是晶振、调试和时钟数:

 

 接下来就需要配置需要的功能了,惯例先点灯:找到开发版原理图,确定LED所接引脚为PH6,在工程中配置该引脚。

至此点灯第一步结束,接下来生成工程。

 三、代码编写

 打开工程后新建一个文件夹,取名hardware,将点灯的相关文件存放于此,便于程序代码的移植和复用。

直接将代码附上:头文件

#ifndef __LED_H
#define __LED_H
#include "main.h"

#define LED_POART GPIOH
#define LED_PIN GPIO_PIN_6

void LED_ON(void);
void LED_OFF(void);
void LED_TURN(uint32_t time);

#endif

 源文件

#include "LED.h"

/*LED打开*/
void LED_ON(void)
{
    HAL_GPIO_WritePin(LED_POART, LED_PIN, GPIO_PIN_RESET);
}
/*LED关闭*/
void LED_OFF(void)
{
    HAL_GPIO_WritePin(LED_POART, LED_PIN, GPIO_PIN_SET);
}
/*LED闪烁,参数:时间*/
void LED_TURN(uint32_t time)
{
    HAL_GPIO_TogglePin(LED_POART, LED_PIN);
    HAL_Delay(time);
}


这里cube生成的工程已经已经将我们所需的引脚初始化了,所以我们并不需要在这编写初始化函数,江协科技和正点原子所讲的标准库和HAL库都得手动配置这些参数,接下来我们在主函数中调用这几个函数即可。

至此点灯结束,下一篇是串口的学习。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐