新建一个文件夹:
新建文件夹的目的时存放我们自己编写的程序代码,因为要放C文件代码,所以我们要选择Source Folder而不能选择Folder,只是在工程根目录新建文件夹时需要选择Source Folder,子目录不需要
若根目录创建的文件夹只是存放.h头文件,则创建文件夹时选Source Folder或Folder都行
然后新建两个文件:led.h, led.c
可以在新建文件时选择路径,也可以新建到默认路径后拖拽到目标(app)路径下
led驱动代码:
#include "stm32f1xx.h"
void led_init(void)
{
__HAL_RCC_GPIOB_CLK_ENABLE();
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.Pin = GPIO_PIN_0;
GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOB, &GPIO_InitStructure);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);
}
void delay_us(uint32_t time)
{
uint32_t i = 8 * time;
while(i--);
}
void led_open(void)
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);
delay_us(180000);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
delay_us(60000);
}
为什么引用头文件stm32f1xx.h?
看下图,看一些HAL环境下的STM32头文件包含情况
led.h文件中声明led相关的函数:
在main.c中包含led.h头文件:
代码写好开始编译:
发现有错误,提示找不到led.h,主要是因为led.h文件的路径没有包含到工程中
下载完成:
关于jlink如何配置下载程序到单片机,请移步:【windows下基于Eclipse和GCC搭建stm32开发环境(2)】hex和bin文件下载到单片机
|