历史上的今天
返回首页

历史上的今天

今天是:2024年10月21日(星期一)

正在发生

2021年10月21日 | stvd+stm8l051F3(1):stvd一步一步建立stm8l工程项目

2021-10-21 来源:eefocus

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内容改成如下代码,编译项目,编译成功

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

  2. #include "stm8l15x.h"


  3. //定义LED端口

  4. #define LED_PORT GPIOD

  5. #define LED_PINS GPIO_Pin_0


  6. /*******************************************************************************

  7. ****入口参数:无

  8. ****出口参数:无

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

  10. *******************************************************************************/

  11. void Delay(__IO uint16_t nCount)

  12. {

  13.     /* Decrement nCount value */

  14.     while (nCount != 0)

  15.     {

  16.         nCount--;

  17.     }

  18. }

  19. /*******************************************************************************

  20. ****函数说明:主函数

  21. ****入口参数:无

  22. ****出口参数:无

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

  24. ********************************************************************************/

  25. void main(void)

  26. {

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

  28.   while (1)

  29.   {

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

  31.     Delay(50000);

  32.   }

  33. }


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


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


推荐阅读

史海拾趣

国芯佳品公司的发展小趣事

机顶盒,全称为数字视频变换盒,是现代家庭娱乐中不可或缺的重要设备。它作为连接电视机与外部信号源的桥梁,不仅承担着接收数字电视信号并将其转换为适合电视播放格式的基本任务,还通过技术的不断演进,极大丰富了用户的视听体验。

从专业角度来看,机顶盒经历了从模拟到数字的飞跃,涵盖了多种类型,如DVB-S(数字卫星机顶盒)、DVB-C(有线电视数字机顶盒)、IPTV机顶盒等。这些机顶盒通过不同的传输介质(如有线电缆、卫星天线、宽带网络)接收信号,并借助内部高效的解码器,将数字信号转换成高质量的音视频流,实现了高清乃至4K超高清的播放效果。

在科普层面,机顶盒的普及极大地推动了家庭娱乐的多元化。它不仅让用户能够收看更多样化的电视节目,还能通过连接互联网,提供电子节目指南、在线视频、网页浏览、社交媒体互动等增值服务。此外,一些先进的机顶盒还集成了智能语音助手、家庭影院功能,甚至支持存储个人媒体文件,让用户的娱乐体验更加个性化、便捷化。

随着5G、云计算、人工智能等技术的不断发展,机顶盒正朝着更高清、更智能、更互动的方向迈进。它不仅将继续作为电视内容的接收和展示终端,更将成为智能家居生态系统中的重要一环,为用户带来更加丰富、沉浸的娱乐享受。

Fenghua (HK) Electronics Ltd公司的发展小趣事

为了降低成本、提高生产效率,Fenghua (HK) Electronics Ltd不断优化供应链管理。公司与供应商建立了长期稳定的合作关系,实现了原材料的及时供应和成本控制。同时,公司引入了先进的生产管理系统,对生产过程中的各个环节进行精细化管理,确保了产品质量的稳定性和一致性。

电连(ECT)公司的发展小趣事

ECT在射频连接器领域取得了显著的技术突破。从2006年到2008年,公司开始研发射频同轴连接器,并在2009年实现精密射频同轴连接器的量产,并成功获得专利。这一技术突破为ECT在射频连接器市场赢得了重要地位,也为公司后续的发展奠定了坚实的基础。

Deutronic Elektronik GmbH公司的发展小趣事

为了进一步提升竞争力,Deutronic Elektronik GmbH开始实施全球化战略。公司在美国和中国设立了子公司,并通过并购等方式加强了在欧洲和亚洲市场的布局。这些举措不仅增强了公司的市场影响力,还为公司带来了更多的资源和优势。通过全球化战略的实施,Deutronic Elektronik GmbH逐渐成为一家具有全球影响力的电子科技企业。

Hind Rectifiers Ltd公司的发展小趣事

为了进一步提升竞争力,Deutronic Elektronik GmbH开始实施全球化战略。公司在美国和中国设立了子公司,并通过并购等方式加强了在欧洲和亚洲市场的布局。这些举措不仅增强了公司的市场影响力,还为公司带来了更多的资源和优势。通过全球化战略的实施,Deutronic Elektronik GmbH逐渐成为一家具有全球影响力的电子科技企业。

Global Components & Controls公司的发展小趣事
电路中的电阻或电容也可能出现故障,如开路、短路或容值变化等。这些问题会影响电路的正常工作,导致台灯亮度不稳定或无法调节。需要根据具体情况进行检修和更换。

问答坊 | AI 解惑

论坛Matter汇总贴

大一统Matter我们作为见证者必须跟进一下: 要想用上Matter是不是到时候还要换一波设备呀~~ matter安全与隐私 Matter Network Transport [Chinese] - Connectivity Standards Alliance Matter 发布会精彩片段 matter被视为智能家居 ...…

查看全部问答>

看别人在光耦的1脚和2脚并了个小电容,是消抖用的吗?

看别人在光耦的1脚和2脚并了个小电容,这是抗干扰用的吗?消抖吗? 假如光耦的1脚串1个2K电阻接24V,2脚的负极信号来自100米远,会有干扰吗?1-2脚之间接个电阻好,还是电容好? …

查看全部问答>

e络盟限时福利|《e选》-------晒单

    活动最后一天下的单, 17号已经收到其中2件, 还有一件是国外发过来, 昨天也收到了, e络盟发货速度那是没的说. 来看看收到的产品吧.     不得不说, e络盟的包装非常结实, 都是用的比较厚实的硬纸板箱, 没有任何变形. ...…

查看全部问答>

【MPS商城钜惠体验季】开箱报告:EVM54304-MN-01A和EVCS180X-S-Y-00A

这次趁着活动,根据实际需要,选了两款MPS的电源板子,分别是: EVM54304-MN-01A:MPM54304 是一款集成 I2C 接口的四通道输出电源模块,带 I2C 和 MTP 的 4V 至 16V 输入、四路 3A、3A、2A、2A 输出 EVCS180X-S-Y-00A:MCS180x 为线性霍尔 ...…

查看全部问答>

【微雪 RP2040双核开发板】官方例程运行问题与解决

本帖最后由 jinyi7016 于 2022-11-25 14:04 编辑 一、起因 在ubuntu上搭建好开发环境后,编译了官方的例程,但开发板的硬件与官方开发板的差异还是很大的,虽然编译了例程,但几乎没有可以运行运行的例程,所以,就重新编译了官方提供的例程 ...…

查看全部问答>

【MPS商城钜惠体验季】开箱

     周一下单, 今天周五就收到了, MPS发货速度还是挺快的.        包装非常结实, 外面一个大盒子,里面每件货都再装了一个小盒子.       这是一颗DCDC转换芯片:  & ...…

查看全部问答>

关于共地干扰问题

下图是:一个高压脉冲放电系统,绿色的部分与黄色的部分(外控)是共地的,绿色部分(放电)的作用是产生一个-400V的和输入PWM脉宽相同的-400V电压脉冲原理是电荷泵电流不大30mA,该绿色模块使用12V输入,由黄色部分供给。蓝色部分MCU主控与外控通过快 ...…

查看全部问答>

关于CMOS双向模拟开关认识问题

 疑问:CMOS传输门内部是一个P沟道MOS和N沟道MOS对接,当C高电平时下端的N管是导通的,当C为低电平的时候上端PMOS管基极为低电平不也是导通?大佬们我是哪里理解有问题? …

查看全部问答>

RT1052 (4) RT-Thread 移植

  图1:工程中add group 命名为rt thread 图2:在工程的libraries 中新建 rt-thread 文件夹 图4:rt-thread 文件夹中的文件 图5:添加头文件路径 $PROJ_DIR$\\..\\..\\libraries $PROJ ...…

查看全部问答>

【MPS商城钜惠体验季】开箱

这次活动,太划算了,正好最近在做一个家庭环境监测板自己玩,就选了mEZS91202A这个现成的板子准备做供电用 收到时的包装 发货清单以及选型手册  板子单独用纸箱包装   板子实物     …

查看全部问答>