1.第一步,新建一个文件夹,起名为与你的工程相关,在该文件夹下建立Project的目录。
2.进入Project目录,新建EWSTM8目录
3.打开IAR,Project->Create New Project
4.选择Empty project
5.将工程文件保存在 XXX项目ProjectEWSTM8
6.工程设置中为工程新建库、USER文件夹,用来添加工程中所需要的C程序源文件。
7.在工程设置的库路径中添加STM8库文件路径中的src内的源文件。
8.在Project路径内新建USER文件夹,并将从官网下载下来的库文件中的如下4个文件复制到该路径下。
9.添加完源程序后的工程如下:
10.工程设置,选择使用的STM8单片机的具体型号,要注意Code和Data的选项。
11.设置编译器的路径,该路径是寻找*.h的路径。如下为设置前:
12.下图为设置后。
$PROJ_DIR$指的是工程文件workspace的保存路径,即*.eew文件的路径。
..指点的是上一级路径,即父目录。
明白上述两点后,将STM8库文件的inc路径包含进去。
$PROJ_DIR$....LibrariesSTM8L10x_StdPeriph_Driverinc
$PROJ_DIR$..USER
13.至此,可以Ctrl+F7了,这是编译main.c。
14.F7编译整个工程,信息如下:可以看到有一个waring,STM官方提供的一个库函数有返回值但却没有return语句。
工程文件已上传至我的资源里。
关键字:STM8 IAR环境 新建工程标准
引用地址:
STM8在IAR环境的新建工程标准
推荐阅读最新更新时间:2024-11-07 07:12
STM8 Cosmic 报错
----------- Project we - STM8 Cosmic - Configuration Debug ------------- Compiling main.c... cxstm8 +debug -pxp -no -l +mods0 -pp -i D:Program FilesCOSMICCXSTM8_32KHstm8 -clDebug -coDebug main.c #error cpstm8 D:Program FilesCOSMICCXSTM8_32KHstm8mods0.h:1 FlexLM FlexLM Invlid host 特征码无效的主机 main.c: The command: cxstm8
[单片机]
STM8学习笔记---NTC热敏电阻的使用
温度采集是产品开发过程中必不可少的,读取温度的方法有很多种,有专用温度采集芯片,温度传感器,热敏电阻等,各种方法来获取温度。今天总结一下使用热敏电阻来采集温度。 先看看热敏电阻的概念 也就是将温度变化转换为电阻阻值变化,通过通过阻值大小就能间接地判断到当前温度值。而读取电阻值实际应用中是很不方便的。如果将电阻值转换为电压值,然后通过单片机AD采样功能,读取电压值。这样相当于间接的读取到了温度值。 下面总结一下用STM8单片机,通过NTC热敏电阻读取温度值得方法。 首先看看热敏电阻的样子 选用的是5K阻值的NTC热敏电阻,它的阻值和温度对照表如下: 通过一个固定电阻和NTC热敏电阻串联分压,然后将
[单片机]
stm8的I2C库的使用
一.前言 stm8是一款低功耗的MCU芯片,它具备stm32库函数和资源丰富的优势。也同时具有价格便宜,低功耗的特点。在一些项目中,能起到很好的作用。下面我介绍一下stm8的IIC硬件库函数驱动代码及实现。 二.IIC基本操作 iic基本操作分为读操作和写操作,这两个操作就可以对设备进行一些基本的操作了。还要知道设备的地址就ok了,具体的IIC时序大家可以上网看看。 三.实现代码 1.先要启动IIC的时钟,保证可以正常工作。 CLK_PeripheralClockConfig (CLK_Peripheral_I2C1,ENABLE);//开启IIC1时钟 2.再对IIC进行初始化的操作 void Ini
[单片机]
MSP430F249单片机 Proteus仿真 IAR工程设置 实例和开发环境
1 开发环境与流水灯实验 使用的是IAR 7.10 新建工程的细节看这里: https://blog.csdn.net/x1131230123/article/details/106956182 需要在debug模式下设置, 编译后hex文件在proNameDebugExe下 proteus设置时钟: 代码: #include MSP430x24x.h #define uchar unsigned char #define uint unsigned int void delayms( uint t ) { uint i; while ( t-- ) for ( i = 1330; i 0; i-- )
[单片机]
STM8内部EEPROM的使用
@eeprom u8save ={5,4,3};//大括号内为初始值,初始值只在仿真器仿真时才会起作用 u8 *pSave = (u8 *)&save ;//对EEPROM数据区进行写操作时必须使用指针访问 void main() { do { FLASH_Unlock(FLASH_MEMTYPE_DATA); }while((FLASH- IAPSR & FLASH_IAPSR_DUL) == 0);//等待DATA EEPROM区解锁 *pSave = *pSave+1; //save =save +1;//对EEPROM数据区进行写操作时不能使用直接访问,仅可用地址间接访问,原因:可以比较和上面一句的汇编代码 while((
[单片机]
STM8 AT24CXX使用I2C接口读写EEPROM子程序
软件设计 /********************************************************************* 目 的: 建立AT24CXX操作库 目标系统: 基于STM8单片机 应用软件: Cosmic CxSTM8 *********************************************************************/ #define WD_DADR 0xa0 #define RD_DADR 0xa1 #include ws_i2c.h void AT24CXX_Init(void) { I2C_Init(); } void AT
[单片机]
STM8单片机ADC带缓存的连续采样模式
在上一篇文章中说了STM8的ADC连续采样模式,为了提高采样的精度和速率,STM8单片机还提供了带缓存的连续采样模式,也就是说ADC会连续采集8个数据,放在缓存中,读取数据时可以一次从缓存中读取8个数据,这样就可以通过8个数据数据计算平均值,使得采样的结果更加准确。 下面看一下官方文档中的对缓存模式的介绍。 通过文档中可以看出,要开启缓存模式,只需要将ADC_CR3寄存器中的COUNT为DBUF设置为1,就可以开启缓存模式了。 当开启缓存模式后,采样的结果将不会存放在ADC_DR寄存器中,而是会将结果依次存放在ADC_DB0R寄存器到ADCDB7R寄存器,连续读取8次数据,存储在这8个寄存器中。读取数据的时候,依次从这
[单片机]
用STM8的TIM1实现流水灯实验(使用外部时钟)
实现内、外部时钟自动切换,可观察外部时钟失效的效果(外部时钟变换快、内部时钟变换慢)。时钟初始化程序如下: void CLK_Init(void) { //CLK_CKDIVR &= ~0x10;//时钟分频寄存器 //CLK_CKDIVR |= 0x01; CLK_ECKR=0x03;//外部时钟寄存器 外部时钟准备就绪,外部时钟开 CLK_SWCR=0x02;//切换控制寄存器 使能切换机制 CLK_SWR=0xB4;//主时钟切换寄存器 选择HSE为主时钟源 while (!(CLK_SWCR & 0x08)); /* Wait for switch done 该语句如果没有则不能切 换成功,
[单片机]