江科大stm32学习笔记2——点个灯先

目录

一、ST-LINK接线

二、keil5设置

三、通过配置寄存器点灯

四、通过库函数点灯


一、ST-LINK接线

烧录器上的“SWCLK”接32“SWCLK”

“SWDIO”接“SWDIO”

“GND”接“GND”

“3.3V”接“3.3V”

接好后,将烧录器插在电脑上,电源灯常量,另一个灯闪烁状态,这样就说明接好了。

二、keil5设置

回到keil5主界面,在工具栏中选择“魔术棒”——“Debug”,在该界面中选择“Use”,更改为“ST-Link Debugger”,随后再点击右边的“Settings”按钮,在“Flash Download”界面中勾选“Reset and Run”,这样可以让程序在烧录进去后马上运行。之后工程文件中点击工具栏的“编译”按钮,0警告0错误之后点击“LOAD”按钮,即可把程序烧进32中。此时可以看到刚才一直闪烁的灯已经灭掉了。

三、通过配置寄存器点灯

在keil中输入如下代码:

#include "stm32f10x.h"                  // Device header

int main(void)
{
	RCC->APB2ENR = 0x00000010;
	GPIOC->CRH = 0x00300000;
	GPIOC->ODR = 0x00000000;
	while(1)
	{
		
	}
}

点击“编译”,之后点击“LOAD”,即可看到32上的PC13又亮起来了。

接着,将“GPIOC->ODR”0x后的第五位改成2,重复上述操作,即可将灯熄灭。

这样的方式有个弊端,我们把除了“PC13”之外的位都配置成了0,会影响到其他端口的原有配置。

四、通过库函数点灯

打开工程文件夹,新建一个名为“Library”的文件夹用来存放库函数。接着打开STM32入门教程资料中的“固件库”——“STM32F10x_StdPeriph_Lib_V3.5.0”——“Libraries”——“STM32F10x_Stdperiph_Driver”——“src”文件夹,将其中的内容按“Ctrl+A”全选并粘贴到工程文件夹里的“Library”,之后再打开“STM32F10x_Stdperiph_Driver”——“inc”文件夹,重复上述操作。

之后回到keil5,在“Target1”下新建一个名为“Library”的文件夹,并右键它添加已经存在的文件,把工程文件中的所有文件加入到工程中来。

然后再回到资料里,打开“STM32F10x_StdPeriph_Lib_V3.5.0”——“Project”——“STM32F10x_StdPeriph_Template”文件夹,可以看到一个“conf”结尾的.h文件和两个“it”结尾的文件,把这三个文件粘贴到工程的“User”目录下,接着回到keil软件,将三个文件加入工程中。

最后打开“main.c”,右键头文件打开它,滑倒8296行可以看到一个条件编译,我们把“ifdef”后面的“USE_STDPERIPH_DRIVER”复制,粘贴在工具栏“魔术棒”——“C/C++”的“Define”栏目中。

之后点击下方“Include Paths”右边的三个点,把“User”和“Library”也加入其中,点击“OK”即可。

江科大stm32学习笔记2——点个灯先_第1张图片

之后,我们写下如下代码:

#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)
	{
		
	}
}

分别注释掉第十一行和第十二行,编译运行即可看到32上的灯先亮后灭。

这样,我们的库函数配置32的工程即创建成功。

你可能感兴趣的:(江科大stm32学习笔记,单片机,stm32)