stvd+stm8l051F3(1):stvd一步一步建立stm8l工程项目

发布者:玉树琼花最新更新时间:2020-06-17 来源: eefocus关键字:stvd  stm8l051F3  工程项目 手机看文章 扫描二维码
随时随地手机看文章

stvd版本信息:ST Visual Develop Version 4.3.9

单片机型号:stm8l051F3


stvd建立stm8l工程项目步骤:

1、打开stvd,File->New Workspace...


选择Create workspace and project


Workspace filename中输入工程名,Workspace location输入工程存放路径


Project filename输入项目名称;Project location输入项目存放路径,Toolchain选择所用编译器,这里选择STM8 Cosmic;

Toolchain root会根据Toolchain的选择自动获取编译器所在路径


选中IC型号,双击,再点OK


点击OK,初步工程和项目已经建立,编译通过。


stm8l_led项目Source Files添加了main.c和stm8_interrupt_vector.c两个文件


led目录自动添加了main.c和stm8_interrupt_vector.c文件


2、添加STM8L15x_StdPeriph_Driver标准库

2.1、将stm8l15x_conf.h、stm8l15x_it.h、stm8l15x_it.c三个文件拷贝到led目录下;


2.2、将STM8L15x_StdPeriph_Driver文件夹拷贝到led目录下;


2.2、将stm8l15x_conf.h、stm8l15x_it.h、stm8l15x_it.c添加到stm8l_led的项目中,然后将stm8l15x.h从STM8L15x_StdPeriph_Driver下的inc文件夹中添加到stm8l_led的项目中



2.3、双击打开stm8l15x.h,将所用的单片机型号的注释符号去掉


编译项目提示错误:

Running Linker

clnk -m Debugstm8l_led.map -l"C:Program Files (x86)COSMICCXSTM8Lib"  -o Debugstm8l_led.sm8 Debugstm8l_led.lkf 

#error clnk Debugstm8l_led.lkf:68 Debugstm8_interrupt_vector.o: symbol f_NonHandledInterrupt multiply defined (Debugstm8l15x_it.o)

 The command: "clnk -m Debugstm8l_led.map -l"C:Program Files (x86)COSMICCXSTM8Lib"  -o Debugstm8l_led.sm8 Debugstm8l_led.lkf " has failed, the returned value is: 1

exit code=1.

将stm8_interrupt_vector.c文件中@far @interrupt void NonHandledInterrupt (void)函数注释,因为重复定义了,再#include "stm8l15x_it.h"头文件,然后编译通过


2.4、在stvd软件Workspace框中选中stm8l_led项目,右键弹出菜单选择New Folder...,输入新建文件夹名STM8L15x_StdPeriph_Driver


2.5、在stvd软件Workspace框stm8l_led项目中STM8L15x_StdPeriph_Driver右键选择Add Files to Folder...,选择STM8L15x_StdPeriph_Driversrc目录下stm8l15x_gpio.c



2.6、双击打开stm8l15x_conf.h文件,将#define USE_FULL_ASSERT注释掉


2.7、将main.c内容改成如下代码,编译项目,编译成功

//STM8L051/151等系列共用库函数

#include "stm8l15x.h"


//定义LED端口

#define LED_PORT GPIOD

#define LED_PINS GPIO_Pin_0


/*******************************************************************************

****入口参数:无

****出口参数:无

****函数备注:不精确延时函数

*******************************************************************************/

void Delay(__IO uint16_t nCount)

{

    /* Decrement nCount value */

    while (nCount != 0)

    {

        nCount--;

    }

}

/*******************************************************************************

****函数说明:主函数

****入口参数:无

****出口参数:无

****函数备注:LED以一定频率闪烁

********************************************************************************/

void main(void)

{

  GPIO_Init(LED_PORT, LED_PINS, GPIO_Mode_Out_PP_Low_Slow);//初始化LED端口

  while (1)

  {

    GPIO_ToggleBits(LED_PORT,LED_PINS);//翻转LED端口

    Delay(50000);

  }

}


到这里一个基本的STM8l工程项目就建立完成。若需要使用到单片机的其它模块功能,按添加stm8l15x_gpio.c的方法添加,比如要用到spi,则添加stm8l15x_spi.c到项目中即可。

另外stm8s工程项目建立过程与此类似。

关键字:stvd  stm8l051F3  工程项目 引用地址:stvd+stm8l051F3(1):stvd一步一步建立stm8l工程项目

上一篇:stm8s003 8K空间不够用,出现报错,修改stvd参数进行最优化
下一篇:stm8s003 8K空间不够用,出现报错,修改stvd参数进行最优化

推荐阅读最新更新时间:2024-11-05 14:37

STM8在STVD平台如何生成HEX文件的方法
1.工程设置中,Post-Build选项卡中,有如下设置 chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8 这是生成*.s19文件的。 2.如欲生成HEX文件,设置如下: chex -fi -o $(OutputPath)$(TargetSName).hex $(OutputPath)$(TargetSName).sm8
[单片机]
STM8在<font color='red'>STVD</font>平台如何生成HEX文件的方法
STVD常见错误 找不到 stm8_interrupt_vector.c
#error cpstm8 stm8_interrupt_vector.c:0 can’t open stm8_interrupt_vector.c srccancan.c: Compiling srcappmain.c… cxstm8 +modsl +debug -pxp -no -pp -l -iinccommuni -iincqueue -iincpowermanage -iinclin -iinclib -iinckey -iincdrv -iincdef -iincdebug -iincconfig -iincclk -iinccan -iincapp -i C:Program FilesCOSMICCXSTM8
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved