Windows系统下安装keil5和STM32模块以及编辑简单程序

一、MDK5安装和STM32安装

1、MSDK5安装包以及STM32安装包

安装包来自于老师与同学的分享,相信大家在网上也很容易找到,这里就不提供链接啦!安装包这是个样子的:
在这里插入图片描述

2、MDK5安装步骤

(1)打开下载好的安装包,找到文件mdk_510.exe文件,双击。
在这里插入图片描述
(2)打开后直接点击next即可。
在这里插入图片描述
(3)勾选“I agree to all terms…”,然后点击next即可。
在这里插入图片描述
(4)点击Browse,选择自己想要安装的路径,再点击next即可。
注意:路径下不能出现中文,不然会出现问题嘞!
在这里插入图片描述
(5)填写注册信息,前面三项随意填写,邮箱需要正确填写,填写完成后,点击next。在这里插入图片描述
(6)这一步就开始安装了,等待吧!在这里插入图片描述
(7)我的电脑管家比较严格,啥都问,如果你们也有,点击安装就行了。在这里插入图片描述
(8)安装完成后,点击Finish即可。在这里插入图片描述
(10)它会自动弹出一个页面,不用慌张,点击ok就好。
在这里插入图片描述
到这一步MDK5就安装完成了,如果有问题,大家互相交流。

3、STM32安装步骤

(1)之前的安装包里面有以下三项,分别点击,下面以第一个为例。
在这里插入图片描述
(2)点开后,会出现以下页面,点击next即可。在这里插入图片描述
(3)在这里就开始安装了,小等一会。
在这里插入图片描述
(4)安装完成以后点击Finish,后面两个文件也是这样哦。
在这里插入图片描述
(5)到了第三个文件,点击出现问题,没关系,在这里跟大家解释一下。这个框里面说不支持这个“1.4.0”的架构版本,只能支持到“1.2”,对于初学者,已经足够,我们可以不用安装,所以直接点确定就好。
在这里插入图片描述
到这一步,STM32也已经安装完成了。

二、注册MDK5

1、关闭电脑防火墙(Windows10系统)

(1)在桌面找到“此电脑”,鼠标右键点击,再点击属性,找到控制面板主页。
在这里插入图片描述

(2)按照以下图片顺序一次设置即可。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、关闭电脑病毒和威胁防护(Windows10系统)

(1)在桌面“开始”里面找到设置,点击出现以下页面,收索Windows就自动弹出想要的选项,点击即可。在这里插入图片描述
(2)按照以下图片顺序一次设置即可。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:在这里准备工作已经完成,如果不关闭,电脑会把注册程序当成垃圾文件删除,会导致后面操作无法完成!

3、正式进行注册

(1)以管理员身份运行已经安装好的keil5软件,点击File,选择License Management,将CID的代码复制好。
在这里插入图片描述
(2)将复制好的CID粘贴到相应位置处,Target选择ARM,再选择Prof.Developers Kit(Plus),再点击Generate,会生成一串字符,复制下来。在这里插入图片描述
(3)将生成的字符串复制到New License ID Code(LIC),再点击Add LIC,就会显示成功哦。在这里插入图片描述
注意:如果失败,请注意是不是以管理员身份运行!
到这里注册也已经完成。

三、在keil5下用STM32编辑简单程序

1、建立工程

(1)打开keil5软件,找到project,选择New μVision Project。
在这里插入图片描述
(2)将新建工程的名字输入进去,并选择自己想要储存的路径。
在这里插入图片描述

2、编辑程序

(1)点击file下的New按键,创建一个空文件,将以下代码复制进去。

#define PERIPH_BASE           ((unsigned int)0x40000000)
#define APB2PERIPH_BASE       (PERIPH_BASE + 0x10000)
#define GPIOA_BASE            (APB2PERIPH_BASE + 0x0800)
#define GPIOB_BASE            (APB2PERIPH_BASE + 0x0C00)
#define GPIOC_BASE            (APB2PERIPH_BASE + 0x1000)
#define GPIOD_BASE            (APB2PERIPH_BASE + 0x1400)
#define GPIOE_BASE            (APB2PERIPH_BASE + 0x1800)
#define GPIOF_BASE            (APB2PERIPH_BASE + 0x1C00)
#define GPIOG_BASE            (APB2PERIPH_BASE + 0x2000)
#define GPIOA_ODR_Addr    (GPIOA_BASE+12) //0x4001080C
#define GPIOB_ODR_Addr    (GPIOB_BASE+12) //0x40010C0C
#define GPIOC_ODR_Addr    (GPIOC_BASE+12) //0x4001100C
#define GPIOD_ODR_Addr    (GPIOD_BASE+12) //0x4001140C
#define GPIOE_ODR_Addr    (GPIOE_BASE+12) //0x4001180C
#define GPIOF_ODR_Addr    (GPIOF_BASE+12) //0x40011A0C   
#define GPIOG_ODR_Addr    (GPIOG_BASE+12) //0x40011E0C 
 
#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2))
#define MEM_ADDR(addr)  *((volatile unsigned long  *)(addr))
 
 
#define LED0  MEM_ADDR(BITBAND(GPIOA_ODR_Addr,8))
//#define LED0 *((volatile unsigned long *)(0x422101a0)) //PA8
typedef  struct
{
   volatile  unsigned  int  CR;
   volatile  unsigned  int  CFGR;
   volatile  unsigned  int  CIR;
   volatile  unsigned  int  APB2RSTR;
   volatile  unsigned  int  APB1RSTR;
   volatile  unsigned  int  AHBENR;
   volatile  unsigned  int  APB2ENR;
   volatile  unsigned  int  APB1ENR;
   volatile  unsigned  int  BDCR;
   volatile  unsigned  int  CSR;
} RCC_TypeDef;
 
#define RCC ((RCC_TypeDef *)0x40021000)
 
typedef  struct
{
volatile  unsigned  int  CRL;
volatile  unsigned  int  CRH;
volatile  unsigned  int  IDR;
volatile  unsigned  int  ODR;
volatile  unsigned  int  BSRR;
volatile  unsigned  int  BRR;
volatile  unsigned  int  LCKR;
} GPIO_TypeDef;
 
#define GPIOA ((GPIO_TypeDef *)GPIOA_BASE)
 
void  LEDInit( void )
{
     RCC->APB2ENR|=1<<2;  //GPIOA ????
     GPIOA->CRH&=0XFFFFFFF0;
     GPIOA->CRH|=0X00000003; 
}
 
//????
void  Delay_ms( volatile  unsigned  int  t)
{
     unsigned  int  i,n;
     for (n=0;n<t;n++)
         for (i=0;i<800;i++);
}
 
int  main( void )
{
     LEDInit();
     while (1)
     {
         LED0=0;
         Delay_ms(500);
         LED0=1;
         Delay_ms(500);
     }
}

此代码引用大佬“farsight1”的“最简单的STM32入门教程----闪烁LED”
“farsight1”博主还有很多优秀文章,大家可以多多关注!
(2)在工程视图窗找到Source Group 1,右键点击,选择“Add Existing Files…”。
在这里插入图片描述
(3)找到Options for Target,进行设置。
在这里插入图片描述
(5)设置output,点击Greate HEX File,再点击Debug,选择Use Simulator,再在Use后面选择ULINK2/ME Cortex Debugger。
在这里插入图片描述
在这里插入图片描述

3、调试查看

(1)点击Build和Rebuild,观察结果。
在这里插入图片描述
build结果:
在这里插入图片描述
rebuild结果:
在这里插入图片描述
(2)点击Debug,选择start/stop Debug Session。
在这里插入图片描述
(3)点击Step、Step over、Step out等按键,观察程序。
在这里插入图片描述
(4)退出点击Debug,选择start/stop Debug Session即可。

四、总结

以上程序和模块的安装已经完成,演示了简单编辑程序,本人是一名初学者,通过博客的形式记录下来,其中不免有步骤或语言的错误或不严谨,在过程中也遇到许多问题,大家可以互相交流。

五、参考文献

代码引用大佬“farsight1”的“最简单的STM32入门教程----闪烁LED”

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值