栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

嵌入式初学 |①STM32F103C8自建模板用寄存器点LED(还有启动文件和ST-LINK)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

嵌入式初学 |①STM32F103C8自建模板用寄存器点LED(还有启动文件和ST-LINK)

浅学了51的基本知识,现在记录一下STM32学习过程。

鄙人看的野火的教程,用的最小核心板STM32F103C8T6,板载一个led,接在PC13上。


  • 首先安装和破解Keil

CSDN上教程很多,安装和破解一般也不会出问题。(小心注册机自带的音乐)

  • 创建工程模板

先下载芯片包

MDK5 Software Packs

找到自己系列

下载完双击.pack文件,会自动找到电脑里Keil路径,安装就行

       在Keil里面新建项目

 

       选择路径

       然后选自己的具体型号,我这里是F103C8

       然后需要添加启动文件(.s文件)

       商家给的资料包一般有,我这没有

stm官网里应该是这个地方

https://www.stmicroelectronics.com.cn/zh/embedded-software/stm32-standardperipheral-libraries.html

但是问题很大,首先图标和链接位置对不上

除了F0和F4,打开都是404,我谢谢你。

打开压缩包查找“startup”,或者按下面的路径来找,这里下载的是F4的,

后面终于下到了F10x的

链接:https://pan.baidu.com/s/1uW9Go_kn66PykIz31GPNXQ?pwd=uils

提取码:uils

简单来说,看flash大小

64K以下——ld

64K-128K——md

256K-512K——hd

细节可以看看C一下别的详解blog

我这里F103C8用md

然后终于可以在Keil里面添加了,双击source group1

 

文件类型选all,这里建议把启动文件复制到项目路径里,以免路径改名之后他找不到

然后右键source group1添加.c文件,我这里命名为main

再添加一个.h文件,命名为芯片型号

.h文件里看参考手册写寄存器映射,可去B站看教程学习。

.h文件如下

//寄存器映射

#define PERIPH_BASE								((unsigned int)0x40000000)
#define APB1PERIPH_BASE						PERIPH_BASE
#define APB2PERIPH_BASE						(PERIPH_BASE + 0x10000)
#define AHBPERIPH_BASE						(PERIPH_BASE + 0x20000) //本应是+ 0x18000,这样写方便取RCC的值


#define RCC_BASE									(AHBPERIPH_BASE + 0x1000)
#define GPIOC_BASE								(APB2PERIPH_BASE + 0x1000)


#define RCC_APB2ENR 							*(unsigned int*)(RCC_BASE + 0x18)


#define GPIOC_ODR 								*(unsigned int*)(GPIOC_BASE + 0x0C)
#define GPIOC_CRL 								*(unsigned int*)(GPIOC_BASE + 0x00)
#define GPIOC_CRH 								*(unsigned int*)(GPIOC_BASE + 0x04)

.c文件如下

#include "stm32f103c8t6.h"    //与刚刚创建的.h文件一致


int main()
{
	while(1)
	{
		//打开时钟
		RCC_APB2ENR |= (1 << 4);
		//先清零,再设置GPIOC为输出模式
		GPIOC_CRH &= ~((0x0f) << 20);
		GPIOC_CRH |= (1 << 20);
		//给低电平
		GPIOC_ODR &= ~(1 << 13);
	}
}


//防止报错
void SystemInit(void)
{
	//空
}
  • 烧录程序

用的ST-LINK V2

驱动下载:

STSW-LINK009 - ST-LINK, ST-LINK/V2, ST-LINK/V2-1, STLINK-V3 USB driver signed for Windows7, Windows8, Windows10 - STMicroelectronics

找到STM32开发板上原理图,或者看开发板背面


插线:

ST-LINK             STM32


3.3V            3V3

GND            GND

SWCLK          CLK(TCLK)

SWDIO          DIO(TMS)


我这里接上RST——RST但是之后download程序时也没法自动复位,得手动

驱动没问题的话 插上ST-LINK后灯常亮

进入设置

如果有些奇怪错误可以在target里面右边“ARM compiler”改成default version 5试试

没连RST选这个,再检查以下左上方选项卡“Flash Download”里面是否正常

完了ok,按一下开发板上复位键

 

历尽艰辛,点灯成功

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/960416.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号