windows系统下MDK5的安装、stm32的安装及简单的stm32的简单程序的编译

    科技2025-03-13  27

    一、MDK5的安装

    1、下载安装包并解压,路径随意 2、双击打开mdk_5.10文件 3、点击next

    1、点击 i agree to.... 2、点击next

    1、我安装到了D盘 2、点击next

    1、填写信息(邮箱要正确)

    1、等待安装,然后点击next

    1、安装完成后点击finsh

    1、安装完成后会跳出一个网页点击ok

    二、stm32的安装

    1、打开文件 2、安装ARM、KEIL1.0.4、KEIL2.2.0 3、一般KEIL2.2.0安装不成功 不影响

    三、注册MDK5

    1、首先关闭防火墙 2、打开这个

    1、管理员身份运行keil5

    1、获取CID码 2、复制CID码

    1、打开前面的页面然后输入CID码,选择ARM 2、会显示注册码并复制

    1、将刚才复制的注册码粘贴在下面

    到此完成了安装,打开一下KEIL5查看一下是否安装成功。

    四、stm21的简单程序编译(LED闪烁)

    1、打开keil5建立新的工程

    1、使用stm32芯片 2、并且对其进行设置

    接下来编写代码

    #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 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)) 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->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;//LEDÁÁ Delay_ms(500)} }

    进行调试(我的文件出现了问题,找不到路径)

    五、总结

    我掌握了MDK以及stm的安装流程,但是在过程中会出现很多问题,一点一点进行解决。最后文件还出现了问题,我也会完善。

    Processed: 0.019, SQL: 8