单片机交流
直播中

地方

12年用户 651经验值
私信 关注
[问答]

如何安装MDK-5.10和STM32pack?

如何安装MDK-5.10和STM32pack?

回帖(1)

任娟娟

2021-11-11 10:52:57
一、安装MDK-5.10和STM32pack

1、MDK-5.10的安装

(1)打开下载好的压缩包(官网下载)并解压
提示:MDK5 是收费软件,目前装的是试用版,仅供学习交流使用,不可用于商业用途。
(2)打开压缩包中的“mdk_510.exe”进行安装




(3)打开后选择next





(4)选择好安装位置后点击next





(5)随便写好后然后点击next





(6)点击同意安装





(7)完成安装





2、stm32 pack的安装

将压缩包的这3个依次点击安装即可





二、stm32简单程序编译

(1)安装好后我们来试验下stm32简单程序编译
首先打开keil5在project处创建一个新的工程




(2)选择好芯片后开始





(3)选好后点击ok





(4)创建好工程后开始编译代码点击new创建一个text




(5)因为是试验程序能否编译
下面代码为网上转载
//宏定义,用于存放stm32寄存器映射#define PERIPH_BASE           ((unsigned int)0x40000000)//AHB#define APB2PERIPH_BASE       (PERIPH_BASE + 0x10000)#define GPIOA_BASE            (APB2PERIPH_BASE + 0x0800)//GPIOA_BASE=0x40000000+0x10000+0x0800=0x40010800,该地址为GPIOA的基地址#define GPIOB_BASE            (APB2PERIPH_BASE + 0x0C00)//GPIOB_BASE=0x40000000+0x10000+0x0C00=0x40010C00,该地址为GPIOB的基地址#define GPIOC_BASE            (APB2PERIPH_BASE + 0x1000)//GPIOC_BASE=0x40000000+0x10000+0x1000=0x40011000,该地址为GPIOC的基地址#define GPIOD_BASE            (APB2PERIPH_BASE + 0x1400)//GPIOD_BASE=0x40000000+0x10000+0x1400=0x40011400,该地址为GPIOD的基地址#define GPIOE_BASE            (APB2PERIPH_BASE + 0x1800)//GPIOE_BASE=0x40000000+0x10000+0x0800=0x40011800,该地址为GPIOE的基地址#define GPIOF_BASE            (APB2PERIPH_BASE + 0x1C00)//GPIOF_BASE=0x40000000+0x10000+0x0800=0x40011C00,该地址为GPIOF的基地址#define GPIOG_BASE            (APB2PERIPH_BASE + 0x2000)//GPIOG_BASE=0x40000000+0x10000+0x0800=0x40012000,该地址为GPIOG的基地址#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类型别名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类型别名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;//GPIOA指向地址GPIOA_BASE,GPIOA_BASE地址存放的数据类型为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




(7)最后对其进行编译




三、protues仿真51单片机走马灯设计

1、在keil下建立工程并写下c程序





(1)写下代码:





#include int0() interrupt 0            {P1=P1<<1|0x01;             }main(){P1=0xfe;                   EA=1;                      EX0=1;                     IT0=1;                      do{}while(1);} (2)编译生成hex文件





2、在protues下建立工程并实行威廉希尔官方网站 仿真

(1)新建一个工程





(2)在库中找到所需要的元器件





(3)绘制威廉希尔官方网站 图





(4)点击51单片机放入刚才生成的hex文件





3、对走马灯进行仿真

(1)开始仿真



(2)拨动开关后亮起下一个灯


举报

更多回帖

×
20
完善资料,
赚取积分