根据“江科大”做的笔记。

目录

一、总结

二、配置文件具体步骤

1、建立文件

2、添加必要文件(Start文件夹)

3、添加库函数文件(Library文件夹)

4、建立Uers文件夹

5、将文件都加载到工程里

三、keil里的配置

四、测试


一、总结

- 建立工程文件夹,Keil中新建工程,选择型号

- 工程文件夹里建立Start、Library、User等文件夹,复制固件库里面的文件到工程文件夹

- 工程里对应建立Start、Library、User等同名称的分组,然后将文件夹内的文件添加到工程分组里

- 工程选项,C/C++,Include Paths内声明所有包含头文件的文件夹

- 工程选项,C/C++,Define内定义USE_STDPERIPH_DRIVER

- 工程选项,Debug,下拉列表选择对应调试器,Settings,Flash Download里勾选Reset and Run

二、配置文件具体步骤

1、建立文件

建立一个总文件夹,比如“STM32Project”,这个文件是装你关于stm32的所有文件,然后再在里面建立文件“stm32工程模块”,这个文件装你所打的代码。我这里又多建了一个studing文件夹,因为在STM32project里我还放了一些资料。

这里再在keil5中建立项目。

并取名Project(这里我取Project是为了到时候移植方便,你也可以给自己的工程取个其他名字)。

我这里选择的是f103c8。

2、添加必要文件(Start文件夹)

接下来要加一些固定文件,新建一个Strat文件夹,用来装必要文件,不然放到外面乱乱的。

找到启动文件,路径:STM32入门教程资料 -> 固件库 -> STM32F10x_StdPeriph_Lib_V3.5.0 -> Libraries -> CMSIS -> CM3 -> DeviceSupport -> ST -> STM32F10x -> startup -> arm

复制到刚刚创建的Start文件夹下。返回到前面STM32F10x文件夹下,复制stm32f10x.h与另外两个system文件,也都放在刚刚工程模板的Start文件夹下。

还要加一个内核寄存器的描述文件。再往前到CM3文件下,到CoreSupport下复制到Start文件夹下(还带了一些内核的配置函数,所以多了个.c文件,一起复制)。

到此为止,工程的必要文件复制完成。(但是实际添加到Start组里的文件只有 startup_stm32f10x_md.s 、stm32f10x.h 、system_stm32f10x.c 、system_stm32f10x.h 、core_cm3.c 、core_cm3.h)

3、添加库函数文件(Library文件夹)

在工程模块下,新建Library文件夹,用来存放库函数

打开stm32标准外设驱动,src文件夹STM32入门教程资料 -> 固件库 ->  STM32F10x_StdPeriph_Lib_V3.5.0 -> Libraries -> STM32F10x_StdPeriph_Driver -> src 。全部复制,粘贴到Library文件夹下。

          

然后返回到前面STM32F10x_StdPeriph_Driver打开ins文件夹,里面是库函数头文件,全部复制粘贴到Library文件夹下。

 

4、建立Uers文件夹

建立Uers文件夹(我们的main主函数将放在此处),打开路径:STM32入门教程资料 -> 固件库 ->STM32F10x_StdPeriph_Lib_V3.5.0 -> Project -> STM32F10x_StdPeriph_Template。选择stm3210x_con.h、stm32f10x_it.c、stm32f10x_it.h这三个文件,放在Uers文件夹里。

5、将文件都加载到工程里

然后我们打开Keil软件,右键添加组(把开始那个改掉,改成工程模板里的文件夹名)

加完是这样子。

再右键组,把对应组里的文件加进来。

这里Start文件只添加startup_stm32f10x_md.s 、stm32f10x.h 、system_stm32f10x.c 、system_stm32f10x.h 、core_cm3.c 、core_cm3.h。Library与Uers的全部添加进来。

在Uers文件夹里,建立main.c文件。(右键Uers组,添加)

三、keil里的配置

打开“魔术棒”按钮。

点到c/c++,在Define内定义USE_STDPERIPH_DRIVER

然后点击下面Include Paths右边的三个点。

选择Start文件夹,添加进来。

将Library、Uers文件夹都添加进来

点OK即可。然后在魔术棒里打开Debug,在Use里选择ST-Link选项。

调中文问题:

四、测试

试一下江科大的代码。

#include "stm32f10x.h"                  // Device header

int main(void)
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOC, &GPIO_InitStructure);
//	GPIO_SetBits(GPIOC, GPIO_Pin_13);
	GPIO_ResetBits(GPIOC, GPIO_Pin_13);
	while (1)
	{
		
	}
}

按下Loan下载可以看到stm32f10c8t6亮一个红灯一个蓝灯。

以上就是我在学习江科大视频所做的笔记。如果有错误的地方,请大家多多指教。

Logo

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

更多推荐