我们用keil来编写STM32程序时,依据它的库函数来编写一些程序
首先我们需要准备,STM32的库函数文件及keil所需要的文件包
--- -------------------------------------------------------------------------------------------------------
下载地址如下:https://www.keil.com/dd2/pack/
在界面中如下搜索:
点击后如下:
点击后如下:
点击后即可下载对应的keil的安装包。
------------------------------------------------------------------------------------------------------------------------------
点击后,找到对应的F系列芯片点击进去:
第一次下载时要输入邮箱,验证确认下,填写个可以收到邮件的自己的邮箱即可。
-----------------------------------------------------------------------------------------------------------------------------
好了,当我们安装好KILE所需要的文件和下载好了需要的固件包(也就是标准外设文件包),开始正式进入基本配置。。。。。
以上图示在stm32开始写程序时需要把下面的基本文件复制到根目录下面:
全部按照图示复制所需文件:
首先新建一个文件夹命名为strat,然后找到我们复制到strat下面的文件全部添加进来,如下所示:
添加的启动方式参照以下:
以上步骤是完成了stm32的基本的配置文件的环境搭建。。。。。。。
------------------------------------------------------------------------------------------------------------------------
添加进系统:
int main(void)
{
while(1)
{
}
}
2.添加烧录器进去
把以下前面打上对号,下载程序后会立马复位并执行,否则需要按下板子的复位按钮才会下载程序:
3.把软件的以下进行设置:
完成以上即可完成的基本配置,。。。。
以下开始配置我们所需要的基本的固件库文件。。。。。。
=========================================================================
------------------------------------------------------------------------------------------------------------------------------
全部复制黏贴:
然后复制以下文件到user:
对以下进行时设置即可:
STlink连接好,下载报错处理方法:
因为stlink不是正版的:
然后再main.c中写入以下代码:开启时钟:
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //放在第一行,不然可能报错
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&GPIO_InitStructure);
GPIO_setBits(GPIOC,GPIO_Pin_13);
while(1)
{
// GPIO_ResetBits(GPIOC,GPIO_Pin_13);//打开led灯
// Delay_ms(500);//延时
// GPIO_SetBits(GPIOC,GPIO_Pin_13);//关闭led灯
// Delay_ms(500);//延时
}
}
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
输出高电平
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
输出低电平
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);
以STM32f103c8t6常用的这颗芯片为例:
首先我们需要准备,STM32的库函数文件及keil所需要的文件包
1.打开keil软件,点击下面的新建工程:
2.在下面找到我们需要的芯片型号,如下图
--- -------------------------------------------------------------------------------------------------------
若是没有芯片型号,需要安装以下文件即可
以下便是如何获取KEIL的配置文件方法:
以下便是如何获取KEIL的配置文件方法:
下载地址如下:https://www.keil.com/dd2/pack/
在界面中如下搜索:
点击后如下:
点击后如下:
点击后即可下载对应的keil的安装包。
------------------------------------------------------------------------------------------------------------------------------
以下是如何获取stm所需要的固件库:
以下网站查找固件库(写程序时对应的文件都在里面)
https://www.st.com/zh/embedded-software/stm32-standard-peripheral-libraries.html以下网站查找固件库(写程序时对应的文件都在里面)
点击后,找到对应的F系列芯片点击进去:
第一次下载时要输入邮箱,验证确认下,填写个可以收到邮件的自己的邮箱即可。
-----------------------------------------------------------------------------------------------------------------------------
好了,当我们安装好KILE所需要的文件和下载好了需要的固件包(也就是标准外设文件包),开始正式进入基本配置。。。。。
以下是固件库所需要的基本内容:
以上图示在stm32开始写程序时需要把下面的基本文件复制到根目录下面:
1.复制启动文件,找到固件库,在固件库中如下文件拷贝至启动文件,新建一个start文件夹,把以下路径为文件复制到启动文件里面(共三个地方的文件)
全部按照图示复制所需文件:
2.添加启动文件到strat文件,如下:(这一步也就是把我们刚才复制的这些所需文件的路径全部添加到KEIL中)
首先新建一个文件夹命名为strat,然后找到我们复制到strat下面的文件全部添加进来,如下所示:
选择全部文件后,点击add,添加完成后如下图所示:(注意,启动方式只能添加一个)
添加的启动方式参照以下:
因为我们的芯片是中容量,所以三个启动方式选择后缀为md.s
以上步骤是完成了stm32的基本的配置文件的环境搭建。。。。。。。
------------------------------------------------------------------------------------------------------------------------
然后添加进头文件:(这一步就是把我们的文件夹写进软件中,链接起来)
添加进系统:
- 添加user文件:添加main.c ,程序如下,下载:
int main(void)
{
while(1)
{
}
}
下载后报错很多,解决方法:(和一些基本的设置如下)
- 选择较低版本:
2.添加烧录器进去
把以下前面打上对号,下载程序后会立马复位并执行,否则需要按下板子的复位按钮才会下载程序:
首先需要把我们的st-link的烧录器插上,然后把驱动进行更新,驱动下载如下链接:、
https://www.st.com/zh/development-tools/stsw-link009.html
在如下图所示下载“
https://www.st.com/zh/development-tools/stsw-link009.html
在如下图所示下载“
3.把软件的以下进行设置:
完成以上即可完成的基本配置,。。。。
以下开始配置我们所需要的基本的固件库文件。。。。。。
=========================================================================
------------------------------------------------------------------------------------------------------------------------------
添加固件库:
全部复制黏贴:
然后复制以下文件到user:
对以下进行时设置即可:
STlink连接好,下载报错处理方法:
因为stlink不是正版的:
然后再main.c中写入以下代码:开启时钟:
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //放在第一行,不然可能报错
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&GPIO_InitStructure);
GPIO_setBits(GPIOC,GPIO_Pin_13);
while(1)
{
// GPIO_ResetBits(GPIOC,GPIO_Pin_13);//打开led灯
// Delay_ms(500);//延时
// GPIO_SetBits(GPIOC,GPIO_Pin_13);//关闭led灯
// Delay_ms(500);//延时
}
}
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
输出高电平
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
输出低电平
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);
转载请注明:首页 > 学习笔记 > 电子电路 ? 【程序代码1】KEIL与stm32的基本设置问题