一、前言
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库都得手动配置这些参数,接下来我们在主函数中调用这几个函数即可。
至此点灯结束,下一篇是串口的学习。