STM8是意法半导体公司出的增强型八位单片机,性能比51单片机强大,而且价格便宜,在商业应用中很受欢迎
在STM8的开发工程中主要有两种开发工具链.第一是使用IAR开发环境,第二十使用cosmic+sttoolset工具链,因为工作和自身的原因,这两种工具连都有幸使用过,接下来会写一套基于固件库的STM8学习笔记
另外,先使用固件库作为学习模版
建立STM8工程分为几步
1. 建立工作空间,然后建立工程
2. 添加源代码分组,
3. 工程配置
4. 加入库文件
添加之后的文件如下
选择芯片型号STM8S208R8,添加.H文件路径
编译,提示不通过
提示没有没有ADC1 TIM5 TIM6 UART2
因为我们选型的芯片比带有ADC1 TIM5 TIM6 和UART2,所以在原文件列表文件中去掉
然后写一段什么都不干的代码
此时,编译就能成功了
关键字:STM8 IAR工程
引用地址:
STM8建立IAR工程
推荐阅读最新更新时间:2024-03-16 15:30
IAR for STM8介绍、 下载、安装与注册
Ⅰ、写在前面 本文讲述的内容是IAR for STM8(EWSTM8)的介绍、下载、安装与注册,其安装、注册过程和IAR for ARM类似,如果需要了解IAR for ARM相关的文章,可以到我博客,或微信公众号查看并下载。 IAR系列教程: http://blog.csdn.net/column/details/13696.html 本文内容已经整理成PDF文件,提供给大家下载: http://pan.baidu.com/s/1geClBrH Ⅱ、IAR介绍 1.关于IAR IAR是一家公司的名称,也是一种集成开发环境的名称,我们平时所说的IAR主要是指集成开发环境。 IAR这家公司的发展也是经历了一系列历史变
[单片机]
STM8 低功耗时钟管理
第一次做低功耗设备,单片机 STM8s003 ,起初只设置了进入 Halt模式,IO配置是使用之前的状态。客户测试结果,9v的电池,10天电压损失比率为 13.5%。 自己做了下测试,运行状态电流 -- 7.2mA,待机电流 1.6mA. 首次改进,由于使用的是外部上拉,在进入 Halt模式前将单片机 IO全部配置为浮空输入状态,按键使用的 IO加上下降沿触发中。测试结果:运行状态电流 6.7mA;待机电流 133uA. 第二次改进,将 12M的内部时钟 4分频,CPU时钟 4分频,外设时钟只保留两个定时器和一个看门狗;测试结果:运行状态电流 2.36mA;待机电流 127uA. 经理说还是太大,至少要降到两位数,
[单片机]
实验6 ADC
ADC,Analog-to-Digital Converter的缩写,指模/数转换器或者模数转换器。是指将连续变化的模拟信号转换为离散的数字信号的器件。真实世界的模拟信号,例如温度、压力、声音或者图像等,需要转换成更容易储存、处理和发射的数字形式。 我们现在学习ADC模块是将介于0V~5V之间的电压值转换成0~1023的数值。STM8S105K4有7个ADC通道,分别对应PB0~PB5、PF4引脚。 如上图所示,该元件是可调电阻,或者叫电位器,103表示10*10^3Ω,即10k欧姆,电位器1脚和2脚之间的阻值为10K,旋转电位器可改变1脚和3脚或者2脚和3脚之间的阻值。1脚接5V,2脚接GND,旋转电位器,可以改变3脚
[单片机]
STM8与汇编语言(17)--蜂鸣器
蜂鸣器是现在单片机应用系统中很常见的,常用于实现报警功能。为此STM8特别集成了蜂鸣器模块,应用起来非常方便。 在应用蜂鸣器模块时,首先要打开片内的低速RC振荡器(应该也能使用外部的高速时钟,不过本人没实验过),其频率为128KHZ。然后通过设置蜂鸣器控制寄存器BEEP_CSR中的BEEPDIV 来获取8KHZ的时钟,再通过BEEPSEL最终产生1KHZ或2KHZ或4KHZ的蜂鸣器时钟,最后使能该寄存器中的BEEPEN位,产生蜂鸣器的输出。 下面的实验程序首先初始化低速振荡器,然后启动蜂鸣器,再延时2.5秒,然后关闭蜂鸣器。 同样还是利用ST的开发工具,生成一个汇编程序的框架,然后修改其中的main.asm,修改后的代
[单片机]
STM8工具之IAR--调试
调试是看数据变化 补充 IAR中的 Options — c/c++ compiler— Optimization — Level 选项: Level的缺省值为Low,当我把Level选为None之后,即不执行任何优化时,全局变量、静态局部变量、局部变量的值都可以看到,如下图所示。 当我把优化等级选为Midium或者High之后,全局变量、静态局部变量、局部变量的值都不可见了。 结论:要想观察局部变量的值,调试的时候可以把优化等级设为None.
[单片机]
IAR for stm8使用标准固件库的方法以及注意事项
标准库其实挺方便的。有了一个模板之后,如果改参数,根本就不需要再去查手册,重新定义寄存器值了。 第一部分,stm8标准库介绍。 stm8的标准库名称代码是stsw-stm8069,根据这个代码就可以到st的官网上下载到最新的固件库。 解压固件库后,有几个文件夹,我这里只是简单的说明各文件夹和文件的作用,具体的说明参考文件包中的chm帮助文档。 Libraries是驱动文件夹,里面的inc文件夹是h文件,src文件夹是c文件,这是最关键的东西。 Utilities是stm自己提供的EVAL开发板程序,如果没用这个EVAL开发板可以无视,有也可以无视,反正就很简单的一个led程序 Project文件夹是工程模板文件,里面有两个重
[单片机]
STM8S学习笔记之三(STM8 SysClk)
STM8S系统时钟设置,对于单片机来说是非常重要的,不同的用处必须应用不同的时钟。。举个例子,做AVR时在高稳定的串口通讯时用的时钟一般是3.6864M,主要是这个算波特率精确。。STM8S同样重要。 STM8S时钟源: ●1-24MHz高速外部晶体振荡器(HSE) ●最大24MHz高速外部时钟信号(HSE user-ext) ●16MHz高速内部RC振荡器(HSI) ●128KHz低速内部RC(LSI) 各个时钟源可单独打开或关闭,从而优化功耗。 对于我这么懒得人一般都是用的内部或者外部晶振。。这个芯片时钟方面很大的一个亮点就是时钟可以自由分频。在降低功耗方面,如果有特殊需求的时候还是考虑STM8L系列或者430的吧,不
[单片机]
stm8 内部EEPROM
第一步:EEPROM介绍 数据EEPROM(DATA)区域可用于存储用户具体项目所需的数据。默认情况下, DATA区域是写保护的,这样可以在主程序工作在IAP模式时防止DATA区域被无意地修改。只有使用特定的MASS密钥才能对DATA区域的写保护解锁(请参考对DATA区域的写操作)。请参考4.4存储器组织结构来了解不同的STM8S MCU的DATA区域大小。 第二步:寄存器说明 第三步:具体实现 /*EEPROM初始化*/ void Eeprom_Init(void) { FLASH_CR1 |= 0x01; //编程时间固定位标准编程时间tprog FLASH_CR2 |=
[单片机]