桂林做网站公司有哪些,用vs2010做免费网站模板,有没有做二手设备网站,做三盛石材网站的公司目录
STM32开发方式
库函数文件夹
建工程步骤
库函数工程建立
建立工程总结 STM32开发方式
目前stm32的开发方式主要有基于寄存器的方式、基于标准库的方式#xff08;库函数的方式#xff09;、基于HAL库的方式基于库函数的方式是使用ST官方提供的封装好的函数库函数的方式、基于HAL库的方式基于库函数的方式是使用ST官方提供的封装好的函数通过调用这些函数来间接地配置寄存器基于HAL库的方式可以用图形化界面快速配置STM32,但这种方式隐藏了底层逻辑 库函数文件夹
使用库函数的方式需要准备一个STM32库函数的文件夹 库函数文件夹里的内容解释如下
Libraries里面就是库函数的文件之后建工程会用到project里是官方提供的工程示例和模版使用库函数可以参考一下Utilities是stm32官方评估板的相关例程这个评估板是官方用STM32做的一个小电路板用来测评stm32的这个文件夹存的就是这个小电路板的测评程序最后面两个文件一个是库函数的发布文档一个是使用手册 建工程步骤
先新建一个文件夹来系统管理我们的文件 再给工程起一个通用的名字文件夹的名称是方便改的工程名称不太方便改 接下来选择器件型号选择的是stm32f103c8t6工程还不能用需要添加一点工程的必要文件
打开固件库的文件夹
启动文件的文件路径Libraries-CMSIS-CM3-DeviceSupport-ST-STM32F10x-startup-arm-
如下就是STM32的启动文件STM32的程序就是从启动文件开始执行的。
将全部启动文件全部复制下来然后回到工程文件夹里 工程文件夹如下里面是新建工程自动生成的文件 工程文件夹里新建文件夹start用来存放复制过来的启动文件 接着回到固件库的STM32F10x文件可以看到stm32f10x.h和两个system开头的文件system_stm32f10x.c和system_stm32f10x.h文件将这三个文件复制下来也粘贴到Start文件夹下。
stm32f10x.h是STM32的外设寄存器描述文件作用和51单片机的头文件REGX52.H一样是用来描述stm32有哪些寄存器和它对应的地址的两个system文件是用来配置时钟的stm32主频72MHz就是system文件里的函数配置的 接下来因为stm32是内核和内核外围的设备组成的而且这个内核的寄存器描述文件和外围设备的描述文件不在一起所以还需要添加一个内核寄存器的描述文件。打开固件库文件夹下的 CM3-CoreSupport- 文件夹这两个cm3Cortex-M3文件就是内核的寄存器描述当然还有一些内核的配置函数所以多了个.c文件。将两个cm3文件复制粘贴到工程文件夹的Start文件夹下。 到此为止工程的必要文件就复制完成了。
然后回到keil软件将刚才复制的文件start添加到工程里。
点击选中Source Group 1然后再点击一下把这个组改一下名字也叫Start
接着右键选择添加已经存在的文件到组里 打开start文件节把下面这个文件过滤器选择ALL files这样就可以看到文件节里的所有文件了启动文件有很多分类我们只能添加其中一个我们所用型号需要选择这个后缀为md.s得启动文件然后剩下的.c和.h文件都要添加进来然后Close这样我们的Start文件夹里面的文件就添加好了 这里的文件都是stm32里最基本的文件是不需要我们修改的我们添加进来就可以。文件图标上的小钥匙意思是文件是只读文件不可修改。 打开工程文件夹新建一个文件夹user在keil中在Target点击右键点击添加组命名为User 然后在user右键点击添加新文件选择c文件名字为main。路径需要注意为User文件夹要不然默认是放在文件夹外面的这样我们就有了main.c文件了 在main.c里右键插入头文件选择stm32f10x.h
点击扳手选择utf-8避免中文乱摸tab缩进为4比较舒服 在keil中配置一下调试器点击魔术棒选择debug调试器默认是ULINK更换为stlink调试器然后再点击右边的设置按钮在flash下载这一项把reset and run 勾上勾上后我们下载程序后会立马复位并执行否则每次下载后还需要按一下板子上的复位按键才能执行程序配置好调试器后点击确定ok 库函数工程建立
打开工程文件夹新建一个文件夹叫library用来存放库函数,接着打开固件库的文件夹打开librarys-stm32标准外设驱动-src-这些就是库函数的源文件misc混杂的意思是内核的库函数其它的就是内核外的外设库函数全选这些库函数文件粘贴到工程文件夹的library下。然后再打开固件库的inc文件夹这些是库函数的头文件全部复制粘贴到工程文件夹library下。 接着回到keil软件同样在Target处右键然后添加组然后改名为library再右键添加已经存在的文件打开library全选添加这样就把所有的库函数文件都添加进来了但是对于这个库函数来说现在还不能直接使用需要再添加一个文件 打开固件库文件夹–打开project–打开–stm32template文件夹里有两个it结尾的文件和一个conf.h的文件。confconfiguration文件是用来配置库函数头文件的包含关系的以及里面还有个用来参数检查的函数定义这是所有库函数都需要的。两个itinterrupt文件是用来存放中断函数的。将这三个文件复制粘贴到工程的user目录下接着回到keil软件在user组里将刚才的三个文件添加进来。 最后还需要一个宏文件可以在这个 #include “stm32f10x.h” 文件右键打开文件划到最下面 看到这个语句这是一个条件编译意思是如果你定义了USE_STDPERIPH_DRIVER 使用标准外设驱动这个字符串下面这个 #include stm32f10x_conf.h语句才有效所以我们还需要复制一下这个USE_STDPERIPH_DRIVER 字符串然后打开工程选项魔术棒在c/c的Define栏目粘贴这个字符串这样才能包含标准外设库库函数 头文件目录把user和library和Start的路径也都添加上 点ok这样我们基于库函数的的工程就建好了。 可以看到Library里面的库函数也带了钥匙不需要我们进行更改我们唯一需要更改的是user组的文件。 点一下三个箱子的按钮将这个Library往上挪一下将不用改的放到最上面看着舒服。
建立工程总结
建立工程文件夹Keil中新建工程选择型号工程文件夹里建立Start、Library、User等文件夹复制固件库里面的文件到工程文件夹工程里对应建立Start、Library、User等同名称的分组然后将文件夹内的文件添加到工程分组里工程选项C/CInclude Paths内声明所有包含头文件的文件夹因为像Start等文件夹是自己建的keil并不知道所以必须声明一下路径最好就是自己新建文件就声明一下这样就不会出现.h文件找不到的问题工程选项C/CDefine内定义USE_STDPERIPH_DRIVER使用库函数就必须定义这个工程选项Debug下拉列表选择对应调试器SettingsFlash Download里勾选Reset and Run 希望对你有帮助