之前我们发过一篇文章先容如何新建一个STM8的寄存器开拓模板,涉及的文件很少。利用寄存器开拓过程比较慢,但是会更系统的学习完这个MCU。如果想很快上手的话,可以选择用库开拓,再配上代码自动天生器,不能再大略方便了。STM8的固件库有一些隐蔽的坑,不想STM32那样完善。但是如果把坑填平还是很好用的。这些坑在后期教程里面会逐一纠正。这里先讲一下如何将上次的寄存器开拓模板改为库开拓模板,并添加库文件。
STM8的库文件可以从网高下载下来,我们下载的是STM8S的固件库。里面包含两个文件夹。
INC文件夹存放了外设干系的所有头文件,这个文件夹地址我们要在IAR设置中添加SRC文件夹存放了外设干系的所有源文件,两者是逐一对应的。
这些文件是指这些文件都是STM8S系列所用的,并不代表任意一款S系列的单片机都包含这些全部功能。以是我们还将一个“stm8s_conf.h”文件放到了INC里面,这个里面会根据单片机的型号名称选择性的include部分须要的头文件。
新建LIB文件夹我们打开工程,在左侧的WorkSpace区域内Add一个Group,命名为“lib”,
在lib中右键添加库文件
在lib组上右键->Add->Add File
然后将lib->src中的.c文件全部选中、添加
打开 “stm8s.h”,将“#define USE_STDPERIPH_DRIVER”注释去掉
添加头文件地址
将lib->inc的地址添加到头文件地址中,方法在寄存器篇有先容,就不再详细讲。末了把地址设置为相对地址。如图
点击编译全部文件,会涌现很多未定义缺点,这是由于我们把所有的库文件全部添加了。如果这芯片没有这些功能,多出来的部分没有声明头文件,就会造成未定义缺点。我们只须要将没有的外设.c文件从lib工程中移除即可。
移除多余的.c文件
图中,所有带红点的文件都代表是有缺点的,我们将这些文件全部移除。
先点中须要移除的文件,右键-> remove,遇见确认弹窗后点击“确定”
将lib中所有带红点的全部移除,如图
打开“stm8s_config.h”,将第84行的
//#define USE_FULL_ASSERT (0)
注释掉
重新编译
缺点和警告全部消逝,标准库工程环境就搭建好了。
资料领取
须要教程中开拓的工程文件的朋友可以点赞转发后,私信将邮箱发给我,并注明须要的是什么资料,统一利用邮箱发放