IAR_for_STM8详细步骤
使用IAR如何修改STM8S库(一)

/* #defineSTM8S903 */
#endif
根据你的CPU类型选择宏定义,比如我这里用的是105系列,则修改为:
/* #defineSTM8S208 */
/* #defineSTM8S207 */
#define STM8S105
/* #defineSTM8S103 */
application.
Tip:To avoid modifying thisfile each timeyou needto switch between these
devices, youcan define the device in your toolchaincompilerpreprocessor. */
/*************************************SPI
************************************/#define _SPI (1)
tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!
/* #defineSTM8S903 */
选择好CPU类型后,还需查看选择的类型中哪些外设是包含的哪些外设没
有包含,将没有包含的外设驱动c文件在工程中去掉
如105系列没有adc2、can、uart1、uart3
2、修改stm8s_conf.h文件
选择好CPU类型后,接下来就是选择要使用的外设了,stm8s_conf.h就是外
设驱动选择开关,在用户函数中,只需包含此头文件即可。
比如程序中需要使用到SPI外设,则将此文件的
/*************************************SPI
STM8在IAR环境下新建工程标准步骤详述

STM8在IAR环境下新建工程标准步骤详述
1.第一步,新建一个文件夹,起名为与你的工程相关,在该文件夹下建立Project 的目录。
2.进入Project目录,新建EWSTM8目录
3.打开IAR,Project->Create New Project
4.选择Empty project
5.将工程文件保存在XXX项目\Project\EWSTM8\
6.工程设置中为工程新建库、USER文件夹,用来添加工程中所需要的C程序源文件。
7.在工程设置的库路径中添加STM8库文件路径中的src内的源文件。
8.在Project路径内新建USER文件夹,并将从官网下载下来的库文件中的如下4个文件复制到该路径下。
9.添加完源程序后的工程如下:
选项。
11.设置编译器的路径,该路径是寻找*.h的路径。
如下为设置前:
12.下图为设置后。
$PROJ_DIR$指的是工程文件workspace的保存路径,即*.eew文件的路径。
..指点的是上一级路径,即父目录。
明白上述两点后,将STM8库文件的inc路径包含进去。
$PROJ_DIR$\..\..\Libraries\STM8L10x_StdPeriph_Driver\inc
$PROJ_DIR$\..\USER
13.至此,可以Ctrl+F7了,这是编译main.c。
个库函数有返回值但却没有return语句。
Bruno。
stm8开发环境配置及测试

stm8开发环境配置及测试需要准备的软件,硬件,IAR for stm8 (EWSTM8)、stm8s标准固件库、ST-LINK、STM8s003f3核⼼板安装IAR(其中包括st-link的驱动),使⽤IAR新建⼀个⼯程,具体步骤如下:1,File->New->Workspace2,创建⼀个⼯程:Project->Create New Project...3,在弹出的对话框中选择C,-》OK4,根据提⽰保存你的⼯程5,从stm8s标准固件库中复制Libraries⽬录到你的⼯程⽬录,复制\STM8S_StdPeriph_Lib_V2.1.0\Project\STM8S_StdPeriph_Examples\GPIO到你的⼯程⽬录6,IAR的⼯程配置:在⼯程中添加两个组Libraries,MyApp。
右击你的⼯程->Add->Add Group7,将库中的*.c⽂件和主程序⽬录的*.c⽂件分别添加到Libraries, MyApp;右击相应组->add->add files8,选择单⽚机型号:右击你的⼯程Options->General Options->选择你单⽚机的型号9,配置头⽂件搜索路径:上⼀步切换到C/C++ Complier->Preprocessor->Additional include directory: ( one per line)10,选择调试器:切换到Debugger->Driver选择ST-Link->OK现在开始编译拍错1,右键main.c->Comliper会提⽰保存workspace,按提⽰操作,编译中会提⽰没有定义Fatal Error[Pe035]: #error directive: "Please select first the target STM8S/A device used in your application (in stm8s.h file)" C:\Documents and Settings\Administrator\桌⾯\EWSTM8_turial\Libraries\STM8S_StdPeriph_Driver\inc\stm8s.h 65双击该条提⽰,⾃动定位到错误位置,表⽰没有定义单⽚机型号,定义上#define STM8S003F32,再次执⾏1,这次的提⽰变为Error[Pe020]: identifier "GPIOH" is undefined C:\Documents and Settings\Administrator\桌⾯\EWSTM8_turial\GPIO\GPIO_Toggle\main.c 54双击该提⽰,定位到错误位置,向上找到 #define LED_GPIO_PORT (GPIOH)将GPIOH改为GPIOD(STM8S003F3没有GPIOH这个IO)3,再次执⾏1,OK没有错误4,整体编译⼀遍:右击⼯程->Make.在编译过程中有⼀部分⽂件会报错,不要担⼼,这些是STM8S003F3中没有的资源,将报错的⽂件删除即可另外对固件库了解后,可以只添加需要的部分,⽐如这次使⽤的是stm8s_gpio.c,那么只添加stm8s_gpio.c就可以了5,删除不需要的,再编译:OK没有错误,没有警告下载并调试,1,将STM8核⼼板通过SWIM与ST-Link连接起来,注意线序2,将ST-Link连接到电脑,(在设备管理器中usb总线中会看到ST-link的相关信息)3,给stm8核⼼板加电4,点击IAR的Download and debug,点击Go。
iar编写stm8跑马灯

iar编写stm8跑马灯
【原创版】
目录
1.IAR 编写 STM8 跑马灯简介
2.STM8 跑马灯的工作原理
3.IAR 编写 STM8 跑马灯的步骤
4.IAR 编写 STM8 跑马灯的注意事项
5.总结
正文
1.IAR 编写 STM8 跑马灯简介
IAR 是瑞典的一家公司,专注于嵌入式系统开发,提供软件、硬件和在线服务。
STM8 跑马灯是一款基于 IAR 嵌入式系统的跑马灯应用,通过编写代码实现跑马灯的各种功能。
2.STM8 跑马灯的工作原理
STM8 跑马灯的工作原理是通过编写 IAR 代码,控制单片机的输出,使跑马灯的各个 LED 灯珠按照预定的顺序和速度进行闪烁。
通过调节IAR 代码中的参数,可以实现跑马灯的不同效果。
3.IAR 编写 STM8 跑马灯的步骤
(1)准备硬件:STM8 单片机、跑马灯、杜邦线、电源等。
(2)编写代码:使用 IAR 嵌入式开发环境,编写代码实现跑马灯的功能。
(3)烧录程序:将编写好的代码烧录到 STM8 单片机中。
(4)测试运行:连接电路,给单片机供电,观察跑马灯效果。
4.IAR 编写 STM8 跑马灯的注意事项
(1)在编写代码时,需要注意代码的规范性,遵循 IAR 编程规范。
(2)在烧录程序时,要确保单片机的引脚连接正确,避免引脚接错导致跑马灯效果异常。
(3)在测试运行时,要注意观察跑马灯的效果,如发现问题,需要及时调整代码。
5.总结
IAR 编写 STM8 跑马灯是一项有趣的嵌入式应用开发任务,需要掌握基本的 IAR 编程知识和硬件连接技巧。
IAR_for_STM8详细步骤

IAR FOR STM8如何建立工程文件
在写程序之前先建立一个文件夹如:example文件夹;在example文件夹中再建立两个文件夹:STM8S_StdPeriph_Driver和Project.其中STM8S_StdPeriph_Driver文件夹中存放的是STM8库文件的library . Project文件夹存放的是工程文件(将库文件夹下的Project文件下STM8S_StdPeriph_Template中的main.c….h文件等COPY过来)。
准备工作结束。
下面开始就成工程的建立
1 .打开IAR for STM8,(这几不需要示范了吧?嘿嘿) 保存到之前的Project的文件夹下
2.在workspace中右键单击example增加Group 两个分别为FW_lib和User.
3.向FW_lib文件夹中添加库文件,库文件在之前建立的STM8S_StdPeriph_Driver文件夹下,添加的是src 文件夹下的,(具体添加哪个你也知道了,不必我多说),
4.向User文件夹下添加文件:Project文件夹下的.c和.h文件
5.此时添加的文件已经完毕,现在需要设置工程的属性了
书写模式如下图所示:
6.最后一步:进行程序的编译,更改程序中的错误。
自此建立工程结束,可以进行Main
函数的书写了。
以上哪有不足之处请多多指教。
嘿嘿!。
IAR for stm8平台 寄存器版 串口通信 实验程序

18 #endif /* __UART_H */
19
20
21 //"uart.c" 程序文件
22 #include "uart.h"
23 #include <stdarg.h>
24 #include <stdio.h>
25
26 #define HSIClockFreq 16000000
27 #define BaudRate 38400
42
43
UART1_CR5 = (0<<2)|(0<<1);
44
//使用智能卡模式需要设置的,可以不Fra bibliotek改45
46
//设置波特率
47
baud_div =HSIClockFreq/BaudRate; //分频因子
48
UART1_BRR2 = baud_div & 0x0f;
49
UART1_BRR2 |= ((baud_div & 0xf000) >> 8);
75
UART1_Re_Buf=((uint8_t)UART1_DR);
76
return UART1_Re_Buf;
77 }
78
79
80
81
82 int fputc(int ch, FILE *f)
83 {
84 /*将Printf内容发往串口*/
85 UART1_DR=(unsigned char )ch;
86 while (!(UART1_SR & UART1_FLAG_TXE));
87 return (ch);
88 }
IAR for STM8新建工程模板
新建工程1、翻开软件,点击File->New->Workspace2、点击Project->Create New Project点击ok,选择工程文件夹,编辑工程名称如下列图点击保存3、右键工程名Add->Add Group,出现下列图点击OK此步骤添加文件夹,便于程序文件管理4、点击File->New->File5、另存为main.c文件〔File->Save As〕点击保存6、将main.c添加到user文件夹中,右键user->Add->Add〞main.c〞配置环境1、在工程右键鼠标,点击Options2、选择单片机型号,我使用的是STM8L152K4故做如下选择3、在C/C++ piler下的Preprocessor里输入$PROJ_DIR$$PROJ_DIR$/../user4、在Debugger里选择ST-LINK5、生成hex文件设置6、写入程序#include"iostm8l152k4.h"/***********************************************************************************入口参数:无****出口参数:无****函数备注:GPIO测试程序,PD4灌流方式连接LED,通过控制PD4输出电平,使LED 闪烁******************************************************************************/int main( void ){int i,j;PD_DDR_DDR4=1; //端口数据方向存放器,输出PD_CR1_C14=1; //端口控制存放器1,推挽输出PD_CR2_C24=0; //端口控制存放器2,输出速率2MHzwhile (1){PD_ODR_ODR4=1; //端口输出数据存放器,输出高电平for(i=0;i<100;i++)for(j=0;j<200;j++);PD_ODR_ODR4=0; //端口输出数据存放器,输出低电平for(i=0;i<100;i++)for(j=0;j<200;j++);}return 0;}7、编辑Project->Rbuild All填写文件名并保存编辑成功生成hex文件路径。
iar编写stm8跑马灯
iar编写stm8跑马灯一、概述跑马灯是一种常见的LED灯效,通过依次点亮和熄灭LED灯,形成像跑马一样的效果。
本文将介绍如何使用IAR编写STM8跑马灯程序。
二、硬件准备在开始编写跑马灯程序之前,需要准备以下硬件: 1. STM8开发板:用于运行程序的主控板。
2. LED灯:用于显示跑马灯效果的灯珠。
三、软件准备在开始编写跑马灯程序之前,需要准备以下软件: 1. IAR Embedded Workbench:用于编写和调试STM8程序的集成开发环境。
四、编写跑马灯程序以下是使用IAR编写STM8跑马灯程序的详细步骤:1. 创建新工程在IAR Embedded Workbench中,选择”File” -> “New” -> “Project”,然后选择STM8作为目标平台,输入工程名称并选择保存路径。
点击”OK”创建新工程。
2. 配置工程在工程中,选择”Project” -> “Options”,在弹出的对话框中选择正确的芯片型号和调试器。
点击”OK”保存配置。
3. 编写主程序在IAR Embedded Workbench的工程窗口中,选择”Project” -> “Add New File”,然后输入文件名和保存路径。
点击”OK”创建新文件,并在文件中编写主程序。
以下是一个简单的跑马灯程序示例:#include <iostm8s103f3.h>#define LED_PORT GPIOC#define LED_PIN GPIO_PIN_3void delay(unsigned int n){unsigned int i, j;for (i = 0; i < n; i++)for (j = 0; j < 1000; j++);}int main(void){GPIO_Init(LED_PORT, LED_PIN, GPIO_MODE_OUT_PP_LOW_FAST);while (1){GPIO_WriteLow(LED_PORT, LED_PIN);delay(1000);GPIO_WriteHigh(LED_PORT, LED_PIN);delay(1000);}}4. 编译和下载程序点击IAR Embedded Workbench的工具栏中的”Make”按钮编译程序。
IAR FOR STM8例程
IAR+STM8——EXTI外部中断控制寄存器2013-03-21 23:23:15| 分类:STM8|举报|字号订阅这块三合一的开发板上有且只有一个按键,没办法,就拿这唯一的按键来用吧。
吸取前面UART3的教训,先看开发板的原理图吧。
这个按键被接到了STM8S207SB的PD7上,已做了上拉处理。
为了简单明了,还是点LED1吧。
按一下LED1亮,再按一下LED1灭。
好了,写程序吧。
#i nclude <iostm8s207sb.h>#define LED1_FLASH PD_ODR_ODR3 = !PD_ODR_ODR3 // 开发板上的LED1接在PD3上void GPIO_init(void){PD_DDR = 0x08; // 配置PD端口的方向寄存器PD3输出PD_CR1 = 0x08; // 设置PD3为推挽输出PD_CR2 = 0x80; // 使能PD7外部中断}void EXTI_init(void){EXTI_CR1 = 0x80; // PD口下降沿触发中断}#pragma vector=0x02 // 这里很关键!看下面说明。
__interrupt void EXTI_PD7_TLI(void){LED1_FLASH;}void init_devices(void){asm("sim"); // 关全局中断GPIO_init();EXTI_init();asm("rim"); // 开全局中断}void main( void ){init_devices();// 主循环里没有程序需要执行while(1);}这里着重要说明的一点是PD7的外部中断程序。
看了一下芯片手册,PD口外部中断EXTI3的中断向量号是6,想当然,又是想当然,按IAR的规矩中断向量要加2,就这样写#pragma vector=0x08,结果就是按下按键,程序没响应了,一直在中断里不出来。
STM8在IAR环境下的C语言开发
STM8单片机在IAR环境下的C语言开发1、头文件搜索路径设置在工程管理窗口按右键,选择option,打开选项设置窗口如下选择C/C++ compiler选项,然后选择Preprocssor标签,在《Additional include directories 下输入要包含的搜索路径,这样在程序编译时,编译器会自动到该目录下搜索头文件。
2、单片机类型的选择在工程管理窗口按右键选择option,选择<General Options>选项,然后再Target中选择相应的单片机型号。
3、Printf函数的使用要使用printf函数,需要在工程管理窗口按右键选择《option》,选择<General Options>选项,然后选择《library Configuration》标签,在《library》中选择Full,如下图所示。
对于程序空间非常小的单片机,如STM8S003只有8K的程序空间,如果使用全功能的printf函数,则程序编译后代码空间不足,此时应不使用printf或者使用Tiny版本的printf,选择Library Options标签,选择Printf formatter 为tiny。
为了能够使用printf,在程序中需要增加如下代码#include "stdio.h"//------------------------------------------------------------------------------// 使用Printf//------------------------------------------------------------------------------// 又有STM8S003只有8K的内存,使用完整的printf则程序空间不足,必须使用tiny的printf// 因此在工程的选项中Library configuration选择Full,在Library option 中选择tiny#ifdef __GNUC__#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)#else#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)#endifPUTCHAR_PROTOTYPE{//发送数据代码UART1->DR = ch;while(UART1_GetFlagStatus(UART1_FLAG_TXE) == RESET);return ch;}4、查看程序编译后的代码大小在工程的目录下有《Debug》和《Release》目录,目中中的《List》目录中有个扩展名为map的文件,文件名为工程名,打开该文件,可以看到程序编译后的代码大小。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IAR FOR STM8如何建立工程文件
在写程序之前先建立一个文件夹如:example文件夹;在example文件夹中再建立两个文件夹:STM8S_StdPeriph_Driver和Project.其中STM8S_StdPeriph_Driver文件夹中存放的是STM8库文件的library . Project文件夹存放的是工程文件(将库文件夹下的Project文件下STM8S_StdPeriph_Template中的main.c….h文件等COPY过来)。
准备工作结束。
下面开始就成工程的建立
1 .打开IAR for STM8,(这几不需要示范了吧?嘿嘿) 保存到之前的Project的文件夹下
2.在workspace中右键单击example增加Group 两个分别为FW_lib和User.
3.向FW_lib文件夹中添加库文件,库文件在之前建立的STM8S_StdPeriph_Driver文件夹下,添加的是src 文件夹下的,(具体添加哪个你也知道了,不必我多说),
4.向User文件夹下添加文件:Project文件夹下的.c和.h文件
5.此时添加的文件已经完毕,现在需要设置工程的属性了
书写模式如下图所示:
6.最后一步:进行程序的编译,更改程序中的错误。
自此建立工程结束,可以进行Main 函数的书写了。
以上哪有不足之处请多多指教。
嘿嘿!。