我们用keil来编写STM32程序时,依据它的库函数来编写一些程序
首先我们需要准备,STM32的库函数文件及keil所需要的文件包
--- -------------------------------------------------------------------------------------------------------
下载地址如下:https://www.keil.com/dd2/pack/
在界面中如下搜索:
点击后如下:
点击后如下:
点击后即可下载对应的keil的安装包。
------------------------------------------------------------------------------------------------------------------------------
点击后,找到对应的F系列芯片点击进去:
第一次下载时要输入邮箱,验证确认下,填写个可以收到邮件的自己的邮箱即可。
-----------------------------------------------------------------------------------------------------------------------------
好了,当我们安装好KILE所需要的文件和下载好了需要的固件包(也就是标准外设文件包),开始正式进入基本配置。。。。。
从以上这个内容就可以知道,stm32要启动的话就需要红色部分的五个必要的启动文件+一个编译器启动文件:
编译器启动文件如下选择:因为我们选择的是103c8t6依据容量选择第二个。
以上图示在stm32开始写程序时需要把下面的基本文件复制到根目录下面:
全部按照图示复制所需文件:
首先新建一个文件夹命名为strat,然后找到我们复制到strat下面的文件全部添加进来,如下所示:
------------------------------------------------------------------------------------------------------------------------
添加进系统:
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要启动的话就需要红色部分的五个必要的启动文件+一个编译器启动文件:
编译器启动文件如下选择:因为我们选择的是103c8t6依据容量选择第二个。
以上图示在stm32开始写程序时需要把下面的基本文件复制到根目录下面:
1.复制启动文件,找到固件库,在固件库中如下文件拷贝至启动文件,新建一个start文件夹,把以下路径为文件复制到启动文件里面(共三个地方的文件)
全部按照图示复制所需文件:
2.添加启动文件到strat文件,如下:(这一步也就是把我们刚才复制的这些所需文件的路径全部添加到KEIL中)
首先新建一个文件夹命名为strat,然后找到我们复制到strat下面的文件全部添加进来,如下所示:
选择全部文件后,点击add,添加完成后如下图所示:(注意,启动方式只能添加一个)
这个是最基本的启动文件,添加完成后如下所示:
这个是最基本的启动文件,添加完成后如下所示:
------------------------------------------------------------------------------------------------------------------------
然后添加进头文件:(这一步就是把我们的文件夹写进软件中,链接起来)
添加进系统:
- 添加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:二进制与十六进制
二进制转十六进制,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位。具体方法如下。
1、首先,先要看看十六位数的表示方法。
2、二进制数与十六进制数之间的对应关系表,如下:
3、二进制转换成十六进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位。
4、组分好以后,对照二进制与十六进制数的对应表(如图2中所示),将四位二进制按权相加,得到的数就是一位十六进制数,然后按顺序排列,小数点的位置不变,最后得到的就是十六进制数。
注意事项:
1、有小数点时,注意小数点的位置不变。
2、如果最后一组不满四位,对对应表不熟悉的可以加0补充。
转载请注明:首页 > 学习笔记 > test ? 【程序代码1】KEIL与stm32的基本设置问题