(1)打开软件安装包,用管理员身份运行mdk_510.exe (2)选择软件路径及支持包路径 (3)随便填写注册信息 (4)开始安装 (4)过程中会弹出以下窗口,点击安装 (5)安装完成,点击“Finish”
下面以支持包Keil.STM32F1xx_DFP.1.0.4.pack为例,说明支持包安装步骤。
(1)双击Keil.STM32F1xx_DFP.1.0.4.pack
(2)选择包的安装路径 (3)安装成功
(1)点击project->new uVision project
(2)输入项目名称 (3)选择一个芯片,这里我选择了STM32F103C8 (4)搭建环境
(5)新建一个main.c文件,并添加进项目 具体代码如下
#include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #define CLOCK 72/8 //时钟配置,后续再详细捋时钟这块的东西,现在姑且按照这样设置这者 void RCC_Configuration(void) { ErrorStatus HSEStartUpStatus; //将RCC寄存器设置为默认值 RCC_DeInit(); //打开外部高速时钟 RCC_HSEConfig(RCC_HSE_ON); //等待外部高速时钟晶振起振 HSEStartUpStatus = RCC_WaitForHSEStartUp(); if(HSEStartUpStatus == SUCCESS){ //设置PLL时钟时钟源及倍频系数 RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_16); //设置AHB时钟 RCC_HCLKConfig(RCC_SYSCLK_Div1); //设置APB1低速时钟 RCC_PCLK1Config(RCC_HCLK_Div2); //设置APB2高速时钟 RCC_PCLK2Config(RCC_HCLK_Div1); //使能PLL RCC_PLLCmd(ENABLE); //等待PLL工作 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) { } //设置系统时钟为PLL时钟 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //等待系统时钟切换为PLL时钟 while(RCC_GetSYSCLKSource() != 0x08) { } } //打开需要使用的外设的时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); } //延时微妙 void delay_us(unsigned int us) { u8 n; while(us--)for(n=0;n<CLOCK;n++); } int main(){ RCC_Configuration(); //设置GPIOB12 为推挽输出模式,速度为2MHz GPIO_InitTypeDef gpioInit; gpioInit.GPIO_Mode=GPIO_Mode_Out_PP; gpioInit.GPIO_Pin=GPIO_Pin_12; gpioInit.GPIO_Speed=GPIO_Speed_2MHz; GPIO_Init(GPIOB,&gpioInit); while(1){ //点亮LED GPIO_ResetBits(GPIOB,GPIO_Pin_12); //延时500ms delay_us(500000); //关闭LED GPIO_SetBits(GPIOB,GPIO_Pin_12); //延时500ms delay_us(500000); } }(6)点击编译,编译成功,但发现有一处警告 可以用如下方法解决,如果还是不行就点击查看解决方法
将光标移到提示告警的代码最后一行(有代码的那一行)然后按住del键,直到确定下面没有回车行,最后回车一下或多下即可。
点击查看解决方法
(1)新建一个闪烁的LED工程,main.c代码如下
#include <reg51.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int void DelayMS(uint x) { uchar i; while(x--) { for(i=120;i>0;i--); } } void main() { P0 = 0xFE; while(1) { P0 = _crol_(P0,1); DelayMS(150); } }(2)生成.hex文件
(3)电路图连接如下 (4)导入对应的.hex文件 (3)点击运行,LED灯开始闪烁
1.STM32F103+RTT从零开始(一)——点亮LED 2.STM32底座实验指导书