一、寄存器开发方式
1)新建工程文件夹stm8_template,在工程文件夹下新建三个子文件夹,FwLib用于存放固件库,寄存器开发方式下存放芯片的头文件,Project用于建立工程文件,User用于存放我们自己编写的.h和.c文件,所以User文件夹下另外建立inc和src文件夹;
2)打开STVD开发软件,点击左上角File,再点击New Workspace,在弹出的对话框中选择第一项,点击确定;
3)接下来填入工程文件名称,并设置相关路径为刚刚新建的文件夹stm8_template下的Project文件夹,点击OK;
4)接下来再次填入工程名称,无需再次设置路径,在Toolchain下拉选项中选择STM8 Cosmic,初次使用STVD需要设置Cosmic的路径,为Cosmic安装目录下的CXSTM8文件夹,点击OK;
5)选择芯片信号,或者在筛选器里填入对应的型号,点击Select,再点击OK;
6)此时左侧的Source Files中出现了我们熟悉的main.c文件和一个中断向量的stm8_interrupt_vector.c文件,不要急着开始写程序,工程里还缺少芯片的头文件;
7)在STVD的安装目录下,打开st_toolset文件夹,在其中的include文件夹下,所有STVD支持的芯片的头文件都在里面,把我们需要的头文件STM8S103F.h复制到工程文件夹下的FwLib中,这里因为STM8S003F和STM8S103F的头文件是共用的,所以直接复制STM8S103F.h,如果打开STM8S003F的头文件也可以发现就是指向STM8S103F的;
8)接下来回到STVD中,右键单击左侧的Include Files,选择Add Files To Folder,在FwLib文件夹下找到STM8S103F.h,点击打开,就添加成功了;
9)点开main.c文件,在main函数上方写入#include “stm8s103f.h”,点击Build,无报错则新建工程完成;
二、库函数开发方式
1)库函数开发方式首先需要下载STM8的标准固件库,可以去ST官网下载,也可以自行在网上寻找资源,本人使用的是STM8S_StdPeriph_Lib_V2.1.0,新建工程的步骤也是先新建文件夹stm8_template,在此文件夹下分别建立FwLib、Project和User,打开STVD开发软件,填入工程名称并指定路径和Cosmic编译器,选择芯片型号;
2)接下来右键单击main.c,选择Remove from Project,将main.c移出工程,重复上述操作,将stm8_interrupt_vector.c也移出工程;
3)接下来我们在STM8的标准固件库文件中打开Libraries,再打开STM8S_StdPeriph_Driver,将其中的inc和src文件夹整个复制到我们新建工程的FwLib中;
4)接下来在STM8的标准固件库文件中打开Project,再打开STM8S_StdPeriph_Template,将其中的main.c、stm8s_conf.h、stm8s_it.c和stm8s_it.h文件复制到我们新建工程的Project中,替换掉原来的main.c,在此目录下打开STVD文件夹,打开Cosimc文件夹,将其中的stm8_interrupt_vector.c复制到我们新建工程的Project中替换掉原来的文件;
此时我们的工程文件下的Project文件夹里是这样的;
5)回到STVD开发软件中,右键单击左侧的Source Files,选择Add Files To Folder,将Project文件夹下的.c文件都添加进去,重复上述操作,将.h文件都添加至Include Files中;
6)此外,还需添加STM8的头文件,在FwLib文件夹下的inc文件夹中;
7)此时不要着急写程序,我们右键单击左侧的stm8_template,选择settings,在弹出的对话框中选择C Compiler子项;
8)在Preprocessor Definitions一栏中填入芯片型号STM8S003即可,这里无需填入完整型号,主要是实现头文件的预定义设置,所以需要遵循头文件中的型号定义,我们打开添加的stm8s.h,就可以看到STM8系列所有的芯片型号;
仔细阅读注释我们可以发现,如果不在settings里进行设置,也可以在stm8s.h中将对应型号的注释取消,也可完成对应型号的预定义设置;
9)点击Build,无报错则新建工程完成;
上一篇:STM8避坑—串口中断
下一篇:STM8避坑—PB4和PB5