嵌入式初学

编程入门 行业动态 更新时间:2024-10-10 02:20:11

<a href=https://www.elefans.com/category/jswz/34/1770281.html style=嵌入式初学"/>

嵌入式初学

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

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


  • 首先安装和破解Keil

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

  • 创建工程模板

先下载芯片包

MDK5 Software Packs

找到自己系列

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

       在Keil里面新建项目

 

       选择路径

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

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

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

stm官网里应该是这个地方

.html

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

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

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

后面终于下到了F10x的

链接:=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,按一下开发板上复位键

 

历尽艰辛,点灯成功

更多推荐

嵌入式初学

本文发布于:2024-02-07 13:55:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1757304.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:嵌入式

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!