单片机---STM8开发环境搭建与标准库工程创建

发布者:不见南师久最新更新时间:2022-08-01 来源: csdn关键字:单片机  STM8  开发环境  标准库  工程创建 手机看文章 扫描二维码
随时随地手机看文章

背景说明

手头有一个单片机的Lora模块,之前也用来开发了一个DTU和温度采集产品,但是对于单片机开发的整个流程,并没有特别清楚,只是用了官方提供的模块代码,增加了温度采集和modbus数据采集过程,并且增加了一些数据传输,加密解密的过程,主要集中在了代码的修改上。对于开发环境及工程搭建这里,并没有深入研究,所以今天来尝试一下,弄一个干净的编译环境及工程。


开发环境

这里用的软件是IAR ,可以自己去官网下载再注册,也可以下载此处的版本

网盘:提取码s2ro


安装过程就是比较简单了,下一步,继续,继续,……,就完事了

整个过程可以参考

安装过程

注册的过程稍微繁琐一点,不过为了免费,还是要耐心一点。


编译环境

ST芯片厂家为自己的产品提供了一系列的标准库,用来供开发者使用,我们可以在官网下载这个标准库

官网地址

在官网搜索栏搜索STSW-STM8016

在这里插入图片描述

能够得到最新的标准库,需要提供邮箱来下载。

下载解压后,我们得到了一个标准库,一个不能直接用的库。因为打开工程会报这样的错误

在这里插入图片描述

保存工程的时候会报这样的错误,ewp could not be written

在这里插入图片描述

这样的错误 debugger file could not be written

在这里插入图片描述

麻了,真是让人难受


最终还是决定自己创建自己的工程。

也不要想着在原来路径下删了工程文件重新创建,还是会有莫名奇妙的问题。


创建工程

代码准备

选择官方下载库里面的关键文件

在这里插入图片描述

拷贝到自己的工作目录下,目录名字自己定义,然后再创建一个工程目录,用来存放IAR生成的文件,以及一个src目录,用来存放自己的main.c及单片机的中断文件stm8l15x_it.c,整个目录大致如下

在这里插入图片描述

最后就开始在IAR中创建工程


工程创建

在这里插入图片描述
在这里插入图片描述

然后点击保存,将工程保存在自己的工程目录下。


添加group

然后添加几个group,这个group类似一个虚拟的文件夹。

在这里插入图片描述

我添加了lib,src和utils文件夹,分别存放库文件,自己的c文件和补充模块的c文件

在这里插入图片描述

导入c文件

右键group,导入c文件,这里我们只导入c文件。最终效果如下。

在这里插入图片描述

这里面的main.c和stm8l15x_it.c也是从标准库中的demo中复制过来的,并且这个demo用到了eval的补充模块,所以一并复制过来了。


工程配置

右键工程名—>选项(options)

首先配置自己的芯片型号

在这里插入图片描述

然后这里有一些头文件的检索路径,需要添加到工程中,并且增加芯片宏定义。

在这里插入图片描述

然后就可以愉快的编译了。


程序下载调试

工程默认是通过模拟器调试的,如果要连接芯片调试,需要用ST-link,连接好芯片的SWIM和RST线,然后配置选项

在这里插入图片描述

就可以愉快的进行调试咯。


注意事项

这个配置中的头文件路径,可以用相对路径来配置,例如

上面的路径,可以改为

在这里插入图片描述

这样,再复制移动工程之后,可以直接编译,不再受路径影响。

关键字:单片机  STM8  开发环境  标准库  工程创建 引用地址:单片机---STM8开发环境搭建与标准库工程创建

上一篇:单片机---STM8L移植ucosII系统
下一篇:单片机---ESP8266移植lvgl(一)

推荐阅读最新更新时间:2024-11-12 00:10

51单片机STC89C52定时器中断法扫描数码管及秒表的实现
定时器中断法扫描数码管及秒表的实现 程序源码 /*-----------------------包含头文件区域-------------------------*/ #include reg52.h //单片机头文件 /*-----------------------数据类型定义区域-----------------------*/ typedef unsigned char u8; //定义类型unsigned char别名为u8 typedef unsigned int u16; //定义类型unsigned int别名为u16 /*-----------------------用户自定义数据区域----
[单片机]
51<font color='red'>单片机</font>STC89C52定时器中断法扫描数码管及秒表的实现
蓝桥杯STC15单片机复习——外部中断
前言 终于到外部中断了,其实从往届赛题来看,外部中断的使用比较少(也可能是我太菜了),不过咱得秉着宁错勿漏的精神来复习才行。 如上图所示,STC15的单片机的外部中断分别位于P32、P33(EX0、EX1),其中,外部中断0的中断号为0,外部中断1的中断号为2. 1、通过外部中断0控制LED亮灭 /* 彭某的蓝桥杯复习——外部中断 1、外部中断按键控制LED亮灭 */ #include STC15F2K60S2.h #define uint unsigned int #define uchar unsigned char void ALL_Init(); void EX0_Init(); void
[单片机]
蓝桥杯STC15<font color='red'>单片机</font>复习——外部中断
TJA1020+51单片机实现的LIN总线通讯源程序(master+slave)
LIN mater的51单片机代码 /**************master*****************/ #include REGX52.H #include intrins.h sbit p31=P3^1; sbit k1=P1^0; sbit k2=P1^1; sbit p20=P2^0; unsigned char t; unsigned char sendflag, flag; void delay(unsigned int i) { while(i--); } void send() { // 同步 ID data1 data2
[单片机]
TJA1020+51<font color='red'>单片机</font>实现的LIN总线通讯源程序(master+slave)
单片机和PC机在实时温度控制系统设计
   设计了一种利用单片机和PC 机来实现的实时温度控制系统,包括硬件设计和软件设计。系统采用STC89C52 单片机作为主芯片,DS18B20 数字温度传感器作为温度采集器件,运用蜂鸣器作为报警器,VB6.0 制作上位机软件,通过串口实现单片机与PC 机的通信。系统能实时监控环境温度,并具有报警功能,具有一定的实用性。   1 引言   温度是日常生活中非常重要的物理量, 其测量包括接触式和非接触式两种,前者需要感温元件与被测物体接触, 会产生滞后现象, 后者则是通过接收被测介质发出的辐射来实现的。实时温度控制系统运用数字温度传感器DS18B20 采集温度,单片机作为主控芯片来对温度值进行处理, 控制和传输, 通过蜂鸣器实现
[单片机]
<font color='red'>单片机</font>和PC机在实时温度控制系统设计
单片机PWM输出控制直流电机(89c51系列、stc12c5a60s2系列)
【pwm是如何控制电机转速】 在本科学习中,学生所做的小车多数为使用lm298n或者tb6612来驱动简单的直流电机,我们需要单片机输出pwm波来控制直流电机转速。 直流电机的PWM调速原理为:通过调节驱动电压脉冲宽度的方式,并与电路中一些相应的储能元件配合,改变了输送到电枢电压的幅值,从而达到改变直流电机转速的目的。 【89C51系列单片机产生pwm波】 89c51单片机没有自带pwm发生器,如果想要使用传统的51单片机产生pwm,只能通过软件模拟的方法来产生pwm。 软件模拟可以分为软件延时和定时器两种方法。 1、软件延时输出pwm 使用延时函数产生频率为1kHz的pwm方波(@12MHz晶振) #in
[单片机]
<font color='red'>单片机</font>PWM输出控制直流电机(89c51系列、stc12c5a60s2系列)
自制51单片机常用头文件(DS18B20)
/*-------------------------------------------------------------------------- TEMPERATURE.H The user function is C51. Copyright (c) 1988-2004 Keil Elektronik GmbH sum zhaojun All rights reserved. --------------------------------------------------------------------------*/ #ifndef __TEMPERATURE_H__ #define __TEMPERATURE
[单片机]
创意小发明:单片机制作电容电阻测量仪
课题 电路元件参数RC测量电路的设计 设计要求: 测量仪的工作原理为:利用振荡电路,将电阻、电容的测量转变为与之成一定函数关系频率的测量,再利用单片机对不同频率进行测量和处理,用数码管显示被测量的大小,可以利用按键对被测量类型进行选择。 测量电阻范围为:≤1MΩ。 测量电容范围为:≤10000pF。 测量精度〈±5%。 废话不多说,先上实物图 注意,做实物没找到开关,用的是跳线冒,当未接跳线时,显示上面最后一张截图待测状态,跳线接好后,将显示对应的测量值。 单片机电容电阻测量仪仿真原理图截图如下: 细节1截图 细节2截图 设计主旨:主要原理是利用555定时器的振荡频率受外围电阻电容的影响来测量的, 以
[单片机]
创意小发明:<font color='red'>单片机</font>制作电容电阻测量仪
节省IO的小技巧:GD32 MCU如何使用一个GPIO实现串口半双工收发
一般情况串口的接受和发送分别需要使用TX和RX两个引脚来实现,但在一些UART的实际应用中,通信双方身份为主机和从机,数据流是半双工的,那么当IO口资源紧张时可以使用半双工模式通过一个引脚实现数据的发送和接受,同时又保证数据不出错。我们一起来看下红枫派开发板例程中是如何实现的? 首先GD32F303的UART是支持半双工模式的,但想要真正使用起来,软硬件还需要特殊设计。 首先是硬件设计,在红枫派开发板中的RS485通信使用半双工实现,原理图是这样的: 其中很重要的两个点是: 1、在MCU的TX引脚上一定要增加一个上拉电阻,保证MCU发送和接受模式切换时IO口电平可以保持高电平的空闲态。 2、485端实际还是发送和接受
[单片机]
节省IO的小技巧:GD32 <font color='red'>MCU</font>如何使用一个GPIO实现串口半双工收发
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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