STM8L101和STM8S103差异对比

发布者:chuyifei最新更新时间:2020-01-29 来源: eefocus关键字:STM8L101  STM8S103  差异对比 手机看文章 扫描二维码
随时随地手机看文章

工作需要,渐渐的开始熟悉STM8L101这款超低功耗的芯片了,呵呵。。.


不看不知道,一看吓一跳,这玩意手册上标明的功耗远远低于STM8S103。我们采用的还是延续着TSSOP20管脚的封装。具体的芯片资源在手册首页都有详细说明。

STM8L101和STM8S103差异对比

下图: 不完全兼容的模块 特别注意中断功能,选项字节

STM8L101和STM8S103差异对比

下图: 完全不兼容的模块

STM8L101和STM8S103差异对比

软件方面: 主要体现在固件库,stm8l系列有自己的固件库,版本为 stm8l10x_stdperiph_lib v1.1.0,STM8L自身的演示版程序也是使用这个库。管脚定义的大小写也发生了变化。


如: GPIO_PIN_0 ---- stm8s FW的写法

GPIO_Pin_0 ---- stm8l FW的写法,比较类似与STM32库的风格

如果不使用库文件编程,而是直接操作寄存器,可在 “C:Program FilesStmicroelectronicsst_toolsetinclude 找到stm8l101.h文件,这个文件定义了STM8L101所使用的外设,内存映射关系。


还有就是文件的命名风格有些变化,stm8s_gpio.h -》 stm8l10x_gpio.h

具体细节方面,可参考stmcu.org上的AN3139 STM8L移植与兼容性指南。


移植细节:

从STM8S103移植到STM8L101首先考虑时钟,兼容性指南上说明了在STM8L101上已经完全做了改变,如下图:

STM8L101和STM8S103差异对比

STM8S时钟树:

STM8L101和STM8S103差异对比

很需要注意的是,STM8L101只有HSI和LSI时钟,而且只有HSI能做为主时钟,LSI时钟的频率也从128Khz变成了38Khz,导致了AWU功能在做定时唤醒时,需要调整延时时间的设置,还有外设的时钟需要手动开启,默认情况与STM8S103不一致,不再是打开状态。下图:

STM8L101和STM8S103差异对比

其次是中断方面,中断向量表已经发生巨大改变。

STM8L101 中断向量表:

STM8L101和STM8S103差异对比

STM8S103中断向量表:

STM8L101和STM8S103差异对比

中断控制方式也有重大调整,增加了端口标志位寄存器,配置中断触发方式寄存器,中断触发方式新增对应0~7个IO口的触发,另外就是GPIO端口本身的触发方式。至于使用哪一种触发方式,在EXTI_CONF进行配置。


STM8L101中断寄存器:

STM8L101和STM8S103差异对比

STM8S103中断寄存器:

STM8L101和STM8S103差异对比

所以中断方面是一个很需要注意的,可能会导致程序崩溃。或是进中断后出不来。 具体参考手册说明。


再者就是AWU唤醒功能,这是可选的,为了低功耗,这又是必须的。


AWU使用LSI为其提供时钟,STM8S103采用128Khz,而STM8L101转而是38Khz,这就导致了在应用时需要注意时间的设置。

如下图,进行对比。

STM8L101和STM8S103差异对比

STM8S103 AWU延时情况:

STM8L101和STM8S103差异对比

如果需要2S的延时,对于STM8S103只需要设置AWUTB为0xD,APR分频64即可得到2.048S的延时,而在STM8L101里面,则需要设置AWUTB为0xB,APR分频64,这样得到1.7s的延时,所以还需要加上27ms左右延时,才能勉强得到2s延时。这也是设计时需要考虑的。


定时器方面,与STM8S103区别不大,主要是因为时钟都是采用HSI,不用做修改都能正常使用。


另外STM8L101还有红外接口,BEEP,SPI,I2C等功能,需要了解的东西还有很多,后续就是具体测量功耗了。

总结:

1. STM8L101对比STM8S103有很多优点,电压范围更宽,功耗更低,裁减了一些外设,窗口看门狗,外部晶振等。

2. 移植方面,需要从硬件和软件两方面入手,更多的是软件操作上。

3. 软件需要考虑时钟,定时,中断,电源功耗等方面因素。

关键字:STM8L101  STM8S103  差异对比 引用地址:STM8L101和STM8S103差异对比

上一篇:STM8S103F3P STVD+COSMIC开发环境搭建
下一篇:基于STM8的RFID程序设计

推荐阅读最新更新时间:2024-10-30 10:39

STM8L101系列单片机串口配置详解(基于IAR自带库)
STM8L101f3p6 有一个串口如图 本历程基于库操作 不讨论具体寄存器操作 有兴趣的同学可以自行参考编程手册 下面看一下手册的了解一下特点 本人英语是个小白只可意会不可言传了 内部结构了由于是基于库函数的所以不做寄存器的分析了 库函数的好处就是可以在不了解单片机寄存器的前提下 可以快速开发应用 下面举个例子 波特率 9600 8位字长停止位一位 无校验 串口模式为收发模式 查询发送 中断接收 在初始化串口之前 应该先初始化 串口对应的IO口 由手册可知串口对应的IO为PC2(USART_RX)和PC3(USART_TX)。 首先宏定义下IO 方便理解和配置 #define TXD_GPIO_P
[单片机]
STM8S103 IO口控制
STM8的IO口控制,说好听点是灵活多变,可以各种定制,可是用起来那真是烦,要定义的好多! void io_init() { PA_DDR |= (1 3); PA_CR1 |= (1 3); PA_CR2 &= ~(1 3);//PA3设置为推挽输出 PD_DDR |= (1 5); PD_CR1 |= (1 5); PD_CR2 &= ~(1 5); //PD5设置为推挽输出 PD_DDR &= ~(1 6); //PD6设置为悬浮输入 PD_DDR |= (1 3); PD_CR1 |= (1 3); PD_CR2 &= ~(1
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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