ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:928.41KB ,
资源ID:3516162      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3516162.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(一步步建立STM8S工程项目祥图.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

一步步建立STM8S工程项目祥图.docx

1、一步步建立STM8S工程项目祥图一步步建立STM8S工程项目鉴于本人曾经摸索了不少时间,走了很多弯路,为了使新手更好地快速入门,特编写此教程。本文件期望达到如下目的:1、从无到有建立全新的STM8S工程项目2、能调用标准库函数3、会定义位,懂得如何查找特定的寄存器并直接赋值。在开始之前,假设你已经安装了STVD和cosmic软件,STVD在ST官网下载,COSMIC到官网或网上可找到评估版或破解版。首先下载ST标准库,从官网下载,我在网上下载到的压缩文件名是stm8_stdperiph_lib。可按如下方法下载:进入STM8Smainstream的resources页,进入Firmware,下

2、载“STM8S/A Standard peripheral library”如下图所示:其次搜索并下载“STM8S库函数中文参考”,对新手省去学习库函数的麻烦。第一步,打开STVD,File - New WorkSpace可选creat workspace and project创建工程和项目在新工程框中,输入工程名,先点左边红色框的选择文件夹,然后点新建文件夹并输入名称确定后填入项目名称,在Toolchain选择所用编译器,本例选cosmic点击OK后,选中IC型号,双击,再点OK点击OK,初步工程和项目已经建立,编译通过。将下载的STM8S标准库stm8_stdperiph_lib解压,如

3、下图,我下载的版本解压后是STM8S_StdPeriph_Lib_V2.1.0文件夹。打开以上文件夹,如下图目录,从标准库中复制以下三个文件到新建工程项目中:新建工程文件目录粘贴如下:将STM8S_StdPeriph_Lib_V2.1.0Libraries下的STM8S_StdPeriph_Driver文件夹复制到你刚才建立的工程文件夹里,如下图:将以上stm8s_it.c和stm8s_conf.h添加到STVD的工程文件夹中,然后将stm8s.h从STM8S_StdPeriph_Driver下的inc文件夹中添加,如下图双击打开stm8s.h,将所用的单片机型号的注释符号去掉,如下图:将st

4、m8s_it.c中的INTERRUPT_HANDLER(NonHandledInterrupt, 25)函数注释掉,因为重复定义了。然后编译通过。在STVD中的project右键New Folder,建立所需文件夹建立一个文件夹STM8S_StdPeriph_Driver,如下图:在STVD中点击STM8S_StdPeriph_Driver右键,添加标准库文件stm8s_gpio.c。双击打开stm8s_conf.h文件,将如下图所示红色框的定义文件注释掉。打开STM8S库函数中文参考,下例中设置PA0口点击复制,将其粘贴到main函数中,并在main.c中添加#include stm8s.h

5、,编译通过,如下图。至此一个基本的STM8S工程项目建立完毕。若需要使用到单片机的其它模块功能,直接按添加stm8s_gpio.c的方法添加,比如要用到time4,则添加stm8s_tim4.c到工程中即可。以上是使用标准库函数的编写方法,另外可直接使用已经定义好的头文件,直接对寄存器和位赋值设置操作。到STVD安装目录找到单片机类型的头文件,本例是C:Program FilesSTMicroelectronicsst_toolsetinclude中找到STM8S003.h和STM8S103F.h,复制到新建的工程文件夹中,如下两图一中在STVD中添加单片机头文件,如下图,本例是stm8s00

6、3f3.h和stm8s103f.h,文件中有对特殊功能寄存器的定义。在main.c文件中加入“#include stm8s003f3.h”或“#include STM8S103F.h”。这样就可以直接以单片机头文件定义的寄存器名直接赋值,比如:为了便于位操作,可另建一个位定义文件,本例是建立stm8s_bitsdefine.h文件名,以下是示例,用户可自行设置添加内容:#ifndef _MACRO_BITS_DEFINE_H_ #define _MACRO_BITS_DEFINE_H_ /*-*/IO bits define/* Port A data output bits*/volatil

7、e _Bool PA_ODR_0 PA_ODR:0;volatile _Bool PA_ODR_1 PA_ODR:1;volatile _Bool PA_ODR_2 PA_ODR:2;volatile _Bool PA_ODR_3 PA_ODR:3;volatile _Bool PA_ODR_4 PA_ODR:4;volatile _Bool PA_ODR_5 PA_ODR:5;volatile _Bool PA_ODR_6 PA_ODR:6;volatile _Bool PA_ODR_7 PA_ODR:7;/* Port A data input bits*/volatile _Bool P

8、A_IDR_0 PA_IDR:0;volatile _Bool PA_IDR_1 PA_IDR:1;volatile _Bool PA_IDR_2 PA_IDR:2;volatile _Bool PA_IDR_3 PA_IDR:3;volatile _Bool PA_IDR_4 PA_IDR:4;volatile _Bool PA_IDR_5 PA_IDR:5;volatile _Bool PA_IDR_6 PA_IDR:6;volatile _Bool PA_IDR_7 PA_IDR:7;/* Port B data output bits*/volatile _Bool PB_ODR_0

9、PB_ODR:0;volatile _Bool PB_ODR_1 PB_ODR:1;volatile _Bool PB_ODR_2 PB_ODR:2;volatile _Bool PB_ODR_3 PB_ODR:3;volatile _Bool PB_ODR_4 PB_ODR:4;volatile _Bool PB_ODR_5 PB_ODR:5;volatile _Bool PB_ODR_6 PB_ODR:6;volatile _Bool PB_ODR_7 PB_ODR:7;/* Port B data input bits*/volatile _Bool PB_IDR_0 PB_IDR:0;

10、volatile _Bool PB_IDR_1 PB_IDR:1;volatile _Bool PB_IDR_2 PB_IDR:2;volatile _Bool PB_IDR_3 PB_IDR:3;volatile _Bool PB_IDR_4 PB_IDR:4;volatile _Bool PB_IDR_5 PB_IDR:5;volatile _Bool PB_IDR_6 PB_IDR:6;volatile _Bool PB_IDR_7 PB_IDR:7;/* Port C data output bits*/volatile _Bool PC_ODR_0 PC_ODR:0;volatile

11、 _Bool PC_ODR_1 PC_ODR:1;volatile _Bool PC_ODR_2 PC_ODR:2;volatile _Bool PC_ODR_3 PC_ODR:3;volatile _Bool PC_ODR_4 PC_ODR:4;volatile _Bool PC_ODR_5 PC_ODR:5;volatile _Bool PC_ODR_6 PC_ODR:6;volatile _Bool PC_ODR_7 PC_ODR:7;/* Port C data input bits*/volatile _Bool PC_IDR_0 PC_IDR:0;volatile _Bool PC

12、_IDR_1 PC_IDR:1;volatile _Bool PC_IDR_2 PC_IDR:2;volatile _Bool PC_IDR_3 PC_IDR:3;volatile _Bool PC_IDR_4 PC_IDR:4;volatile _Bool PC_IDR_5 PC_IDR:5;volatile _Bool PC_IDR_6 PC_IDR:6;volatile _Bool PC_IDR_7 PC_IDR:7;/* Port D data output bits*/volatile _Bool PD_ODR_0 PD_ODR:0;volatile _Bool PD_ODR_1 P

13、D_ODR:1;volatile _Bool PD_ODR_2 PD_ODR:2;volatile _Bool PD_ODR_3 PD_ODR:3;volatile _Bool PD_ODR_4 PD_ODR:4;volatile _Bool PD_ODR_5 PD_ODR:5;volatile _Bool PD_ODR_6 PD_ODR:6;volatile _Bool PD_ODR_7 PD_ODR:7;/* Port D data input bits*/volatile _Bool PD_IDR_0 PD_IDR:0;volatile _Bool PD_IDR_1 PD_IDR:1;v

14、olatile _Bool PD_IDR_2 PD_IDR:2;volatile _Bool PD_IDR_3 PD_IDR:3;volatile _Bool PD_IDR_4 PD_IDR:4;volatile _Bool PD_IDR_5 PD_IDR:5;volatile _Bool PD_IDR_6 PD_IDR:6;volatile _Bool PD_IDR_7 PD_IDR:7;/#endif在工程中加入此文件,如下图:在源程序中include此文件,编写位语句,编译通过,如下图:#define LED_GREEN PB_ODR_1 /定义LED_GREEN为PB1口LED_GREEN = High; /PIN LED_GREEN输出高(PB1口)所以,即可以用标准库函数,也可以对寄存器或定义的位直接赋值,增加编程的灵活性。编写:东莞市胜控电子科技有限公司翁慢于石龙2013-1-22

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1