stm8L051使用库建工程

2020-01-15来源: eefocus关键字:stm8L051    建工程

先前直接寄存器开发,不过挺麻烦的,寄存器开发stm8s103直接对着英文技术手册写代码,现在换到了stm8L的又要回头看英文文档,开发效率个人感觉对于我这个新手来说还是很低的。现在在社区下载了一份固件,看看能不能建立一个用库的工程吧。(先前简单看过别人建工程的过程,由于对IAR不熟悉,不成功,现在也就是刚刚弄到没任何错误。)


1 先下载一份工程固件stsw-stm8016,固件迟些发送到资源上面,也可以到stm32/stm8社区下载。 

2 建立一个iar的工程 

这里建立的工程如下(我已经弄好的): 

 这里写图片描述 

备注:app文件放我们自己编写的BSP驱动,lib放固件,还有三个文件 

这里写图片描述 

这三个文件直接放在工程里面。 

弄好了如下: 

这里写图片描述这里写图片描述 

xxconf.h文件用于加载固件的.h文件 

xxit.h为中断函数的一些声明。 

3 然后建立一个bsp.c和.h文件(这里不一定这样,只是我这里是如此) 

然后bsp.h中内容如下 : 

这里写图片描述

备注: 

项目用到的device为stm8l051所以选择#define STM8L05X_LD_VL 

4 然后把源码.h文件所在目录加载在iar中: 

上面的是固件及bsp包所在目录,下面就是preinclude bsp.h,记得器件放在前面 

5 最后main: 

main.c 

6 编译通过,接下来就可以根据固件包中提供的开发文档快速复制黏贴了^_^。 

7 以上为本次建工程的对于我来说的一些关键步骤,先前在这些地方错的很多。 

8 这只是我这里建工程的一个路子,有很多开发者建工程的目录安排,文档设置个人感觉是相当好的,值得我再花时间去研究研究。。。。。 

备注:上面说到关于文件库文件锁定的问题,也可以在文件目录之下点击相关文件的属性,然后把“只读”属性的选项去掉,就可以直接在IAR中对库文件进行修改了。

关键字:stm8L051    建工程 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic485745.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM8L051之蜂鸣器beep--库函数版(没有用TIM2校准LSI)
下一篇:STM8的福利--Atomthreads实时操作系统

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM8L051之低功耗停机配置问题
在做stm8L的小一个项目,由电池供电,当按键长按关机,系统进入停机模式,虽然系统运行的时候有十几毫安的电流消耗(还没使用RTC定时唤醒),但是在停机模式下电流消耗竟然还有1.33ma的电流,花了半天的时间找资料,看文档,在网上看到不少大牛能做到0.4ua,自己无论如何设置IO,外设都无补于事,停机模式下电流最低还有1ma。 最后只能将开机初始化的外设函数一个一个注释掉,包括ADC,DMA,beep,以及TIM4,最后发现只注释掉ADC的初始化函数,再进入停机模式,果然电流接近0,5ua,也就是说可能ADC模块在进入停机模式前的关闭设置不正确,之前的是这样的:void PerCLK_OFF(){  
发表于 2020-01-18
STM8L最小系统板移植Atomthreads成功
终于花了一天时间把atomthreads1.3移植到了STM8L151K4。由于之前有了移植STM8S的经验,这次整个过程清晰了很多。并且我也安装了STVP+COSMIC编译环境,因此这回也更加注重代码在不同编译器的兼容性。原版Atomthreads1.3的port目录下有点乱,所有编译器的相关文件都放在同一个目录下,我同样对目录结果进行了调整。让代码看起来更易读。同时,原作包括的意法半导体的外设库,一方面太陈旧,一方面也只有一小部分驱动程序,使用起来不方便,还有更重要的是,这个库对STM8L不适用。因此我把最新的ST驱动库整个放了进来。原作者之所以只拿了一小部分驱动,无非是考虑可能最后编译的二进制文件太大。其实这点不用担心,好的
发表于 2020-01-18
stm8L 触摸库使用教程
1、查看触摸库说明文档,根据需要选取芯片(主要支持几个键):STMTouch Driver User Manual一个channel为一个按钮,比如STM8L101F 就支持3个按钮,通过按钮扩充方式可以增加按钮,参照:增加触摸传感按钮数量指南.pdf2、下载对应的官方触摸库  STM8L_STMTouch_Lib_V1.1.0,将以下两个文件夹复制到自己的工程文件夹中3、选择跟自己项目相近的工程打开,比如我要做1-4个按钮的触摸灯,就选了STM8L101K3_Ex01打开:Projects——Examples——STM8L101K3_Ex01——EWSTM8(我用的是IAR)——Example.eww4、打开后Make
发表于 2020-01-16
stm8L 触摸库使用教程
STM8L051之蜂鸣器beep--库函数版(没有用TIM2校准LSI)
STM8L051的蜂鸣器引脚与swin调试口共用一个引脚,虽然使用了beep就不能使用调试功能(程序下载完成后,断开调试的swin,重启即可输出),但还是可以烧写程序到MCU中的。 (**注意**可以不用设置选项位即可使用beep功能)下面是库函数的代码:void BeepInit(){  // BEEP_LSClockToTIMConnectCmd(ENABLE);   CLK_PeripheralClockConfig(CLK_Peripheral_BEEP,ENABLE);  // BEEP_LSICalibrationConfig(38000);   
发表于 2020-01-15
STM8L051之ADC+DMA两通道数据采样错位问题
程序中使用ADC1采样一个外部输入,一个内部参考电压的电压,其中出现了两通道的数据错位问题,即有时数组第一个数与该数组第二个数据交换了,在网上找了很久都没神马结果,最后只能将ADC的连续转换模式设置成单次转换即ADC_Init(ADC1, ADC_ConversionMode_Continuous,   ADC_Resolution_12Bit, ADC_Prescaler_1);改成ADC_Init(ADC1, ADC_ConversionMode_Single,  ADC_Resolution_12Bit, ADC_Prescaler_1);在每次一组数据传 输完成产生一次DMA中断的时候再启动下一
发表于 2020-01-15
DS18B20函数库建立实验
1.主代码:/* 温度传感器  */#include "DS18B20.h"#include"def.h"u16 get_temp (void){    float tt;    u16 temp;    u8 a,b;    ds_delay(40);    dsic_init();    write_byte(0xcc);    write_byte(0x44); 
发表于 2020-01-11
DS18B20函数库建立实验
小广播
何立民专栏 单片机及嵌入式宝典

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

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