admin

【程序代码1】KEIL与stm32的基本设置问题

admin 程序设计 2023-08-15 浏览
我们用keil来编写STM32程序时,依据它的库函数来编写一些程序H5b源享君
 
以STM32f103c8t6常用的这颗芯片为例:
H5b源享君
首先我们需要准备,STM32的库函数文件及keil所需要的文件包H5b源享君
 
1.打开keil软件,点击下面的新建工程:
H5b源享君
H5b源享君
 
2.在下面找到我们需要的芯片型号,如下图
H5b源享君
H5b源享君
--- -------------------------------------------------------------------------------------------------------
若是没有芯片型号,需要安装以下文件即可H5b源享君
H5b源享君
以下便是如何获取KEIL的配置文件方法:
H5b源享君
H5b源享君
 H5b源享君
下载地址如下:https://www.keil.com/dd2/pack/H5b源享君
在界面中如下搜索:H5b源享君
 H5b源享君
 H5b源享君
 H5b源享君
点击后如下:H5b源享君
H5b源享君
 H5b源享君
点击后如下:H5b源享君
H5b源享君
H5b源享君
 H5b源享君
点击后即可下载对应的keil的安装包。H5b源享君
------------------------------------------------------------------------------------------------------------------------------
以下是如何获取stm所需要的固件库:H5b源享君
H5b源享君
以下网站查找固件库(写程序时对应的文件都在里面)
https://www.st.com/zh/embedded-software/stm32-standard-peripheral-libraries.htmlH5b源享君
H5b源享君
点击后,找到对应的F系列芯片点击进去:H5b源享君
H5b源享君
H5b源享君
H5b源享君
第一次下载时要输入邮箱,验证确认下,填写个可以收到邮件的自己的邮箱即可。H5b源享君
H5b源享君
H5b源享君
-----------------------------------------------------------------------------------------------------------------------------H5b源享君
H5b源享君
好了,当我们安装好KILE所需要的文件和下载好了需要的固件包(也就是标准外设文件包),开始正式进入基本配置。。。。。H5b源享君
 
以下是固件库所需要的基本内容:
 H5b源享君
H5b源享君
从以上这个内容就可以知道,stm32要启动的话就需要红色部分的五个必要的启动文件+一个编译器启动文件:H5b源享君
编译器启动文件如下选择:因为我们选择的是103c8t6依据容量选择第二个。H5b源享君
参考文档如下:H5b源享君
H5b源享君
https://blog.csdn.net/weixin_46251230/article/details/126464390
H5b源享君
以上图示在stm32开始写程序时需要把下面的基本文件复制到根目录下面:H5b源享君
 
1.复制启动文件,找到固件库,在固件库中如下文件拷贝至启动文件,新建一个start文件夹,把以下路径为文件复制到启动文件里面(共三个地方的文件)
H5b源享君
全部按照图示复制所需文件:H5b源享君
H5b源享君
H5b源享君
 H5b源享君
H5b源享君
 
2.添加启动文件到strat文件,如下:(这一步也就是把我们刚才复制的这些所需文件的路径全部添加到KEIL中) 
H5b源享君
首先新建一个文件夹命名为strat,然后找到我们复制到strat下面的文件全部添加进来,如下所示:H5b源享君
H5b源享君
H5b源享君
H5b源享君
 
选择全部文件后,点击add,添加完成后如下图所示:(注意,启动方式只能添加一个)H5b源享君
H5b源享君
这个是最基本的启动文件,添加完成后如下所示:
H5b源享君
 H5b源享君
H5b源享君
H5b源享君
------------------------------------------------------------------------------------------------------------------------
然后添加进头文件:(这一步就是把我们的文件夹写进软件中,链接起来)
H5b源享君
 H5b源享君
添加进系统:
  1. 添加user文件:添加main.c ,程序如下,下载:
#include "stm32f10x.h"                  // Device headerH5b源享君
 H5b源享君
int main(void)H5b源享君
{H5b源享君
while(1)H5b源享君
{H5b源享君
H5b源享君
}H5b源享君
}
下载后报错很多,解决方法:(和一些基本的设置如下)
  1. 选择较低版本:
 H5b源享君
 H5b源享君
2.添加烧录器进去H5b源享君
把以下前面打上对号,下载程序后会立马复位并执行,否则需要按下板子的复位按钮才会下载程序:H5b源享君
 
首先需要把我们的st-link的烧录器插上,然后把驱动进行更新,驱动下载如下链接:、H5b源享君
H5b源享君
https://www.st.com/zh/development-tools/stsw-link009.htmlH5b源享君
H5b源享君
在如下图所示下载“H5b源享君
H5b源享君
H5b源享君
3.把软件的以下进行设置:H5b源享君
H5b源享君
H5b源享君
完成以上即可完成的基本配置,。。。。H5b源享君
H5b源享君
以下开始配置我们所需要的基本的固件库文件。。。。。。H5b源享君
=========================================================================H5b源享君
------------------------------------------------------------------------------------------------------------------------------
添加固件库:
 H5b源享君
H5b源享君
 H5b源享君
以上两个文件夹就是固件库,里面的全部复制黏贴:H5b源享君
H5b源享君
进行启动还需要个启动文件,在固件库的实例文件下面找到以下三个文件,包含一个调用固件库文件和H5b源享君
H5b源享君
两个存放中断函数的文件;H5b源享君
 H5b源享君
然后复制以下文件到user:H5b源享君
 H5b源享君
对以下进行时设置即可,把上面的全部添加进来:H5b源享君
 H5b源享君
 H5b源享君
 H5b源享君
H5b源享君
 H5b源享君
STlink连接好,下载报错处理方法:H5b源享君
因为stlink不是正版的:H5b源享君
H5b源享君
 H5b源享君
H5b源享君
然后再main.c中写入以下代码:开启时钟:H5b源享君
 H5b源享君
int main(void)H5b源享君
{H5b源享君
GPIO_InitTypeDef GPIO_InitStructure; //放在第一行,不然可能报错H5b源享君
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);H5b源享君
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;H5b源享君
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;H5b源享君
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;H5b源享君
GPIO_Init(GPIOC,&GPIO_InitStructure);H5b源享君
    GPIO_setBits(GPIOC,GPIO_Pin_13);H5b源享君
while(1)H5b源享君
{H5b源享君
// GPIO_ResetBits(GPIOC,GPIO_Pin_13);//打开led灯H5b源享君
// Delay_ms(500);//延时H5b源享君
// GPIO_SetBits(GPIOC,GPIO_Pin_13);//关闭led灯H5b源享君
// Delay_ms(500);//延时H5b源享君
}H5b源享君
}H5b源享君
 H5b源享君
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);H5b源享君
输出高电平H5b源享君
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);H5b源享君
输出低电平H5b源享君
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);H5b源享君
 H5b源享君
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);H5b源享君
 
拓展了解1:二进制与十六进制
 

二进制转十六进制,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位。具体方法如下。H5b源享君

1、首先,先要看看十六位数的表示方法。H5b源享君

H5b源享君

2、二进制数与十六进制数之间的对应关系表,如下:H5b源享君

H5b源享君

3、二进制转换成十六进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位。H5b源享君

H5b源享君

 H5b源享君

 H5b源享君

4、组分好以后,对照二进制与十六进制数的对应表(如图2中所示),将四位二进制按权相加,得到的数就是一位十六进制数,然后按顺序排列,小数点的位置不变,最后得到的就是十六进制数。H5b源享君

H5b源享君

注意事项:H5b源享君

1、有小数点时,注意小数点的位置不变。H5b源享君

2、如果最后一组不满四位,对对应表不熟悉的可以加0补充。H5b源享君

特别说明:
1.本站百分之九十资源均为免费,百分之十需要注册会员收费,用来维护网站。

2.若是资源链接丢失,请在网站资源下方留言,我们会及时补充丢失链接。

3.白嫖不可怕,可怕是白眼狼式的白嫖,毫无感恩的白嫖。

4.网站资源千千万,本站资源万里选,不是精华不收录,浪费时间和精力。

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

资源分享不易,你的支持,将会是我继续前行的动力!!!

留言与评论(共有 0 条评论)
   
验证码:
博客主人:草根站长 博 主: 闲来没事喜欢研究电脑影视,电子电路,并分享资源和心得技巧,资深技术宅。
浏览 104615 次 运行 0 天数