STM8L101和STM8S103差异对比
转载地址:http://www.elecfans.com/emb/danpianji/20180424667321.html
工作需要,渐渐的开始熟悉STM8L101这款超低功耗的芯片了,呵呵。。.
不看不知道,一看吓一跳,这玩意手册上标明的功耗远远低于STM8S103。我们采用的还是延续着TSSOP20管脚的封装。具体的芯片资源在手册首页都有详细说明。
STM8L10x与STM8L15x外设图如下:
硬件方面: STM8L101跟STM8S103来说,外设内存映射,时钟,中断,管脚功能,电源管理都有了较大区别。有完全兼容的,也有 不完全兼容的,当然也存在完全不兼容的模块。WWDG,ADC都已经被裁减了。
如下图: 完全兼容的模块有 STM8核心,调试接口,POR(掉电复位),电压调节器,LSI,HSI,独立看门狗,定时器,IR(RC5红外接口)
下图: 不完全兼容的模块 特别注意中断功能,选项字节
下图: 完全不兼容的模块
软件方面: 主要体现在固件库,stm8l系列有自己的固件库,版本为 stm8l10x_stdperiph_lib v1.1.0,STM8L自身的演示版程序也是使用这个库。管脚定义的大小写也发生了变化。
如: GPIO_PIN_0 ---- stm8s FW的写法
GPIO_Pin_0 ---- stm8l FW的写法,比较类似与STM32库的风格
如果不使用库文件编程,而是直接操作寄存器,可在 “C:\Program Files\Stmicroelectronics\st_toolset\include 找到stm8l101.h文件,这个文件定义了STM8L101所使用的外设,内存映射关系。
还有就是文件的命名风格有些变化,stm8s_gpio.h -》 stm8l10x_gpio.h
具体细节方面,可参考stmcu.org上的AN3139 STM8L移植与兼容性指南。
移植细节:
从STM8S103移植到STM8L101首先考虑时钟,兼容性指南上说明了在STM8L101上已经完全做了改变,如下图:
STM8L时钟树:
STM8S时钟树:
很需要注意的是,STM8L101只有HSI和LSI时钟,而且只有HSI能做为主时钟,LSI时钟的频率也从128Khz变成了38Khz,导致了AWU功能在做定时唤醒时,需要调整延时时间的设置,还有外设的时钟需要手动开启,默认情况与STM8S103不一致,不再是打开状态。下图:
其次是中断方面,中断向量表已经发生巨大改变。
STM8L101 中断向量表:
STM8S103中断向量表:
中断控制方式也有重大调整,增加了端口标志位寄存器,配置中断触发方式寄存器,中断触发方式新增对应0~7个IO口的触发,另外就是GPIO端口本身的触发方式。至于使用哪一种触发方式,在EXTI_CONF进行配置。
STM8L101中断寄存器:
STM8S103中断寄存器:
所以中断方面是一个很需要注意的,可能会导致程序崩溃。或是进中断后出不来。 具体参考手册说明。
再者就是AWU唤醒功能,这是可选的,为了低功耗,这又是必须的。
AWU使用LSI为其提供时钟,STM8S103采用128Khz,而STM8L101转而是38Khz,这就导致了在应用时需要注意时间的设置。
如下图,进行对比。
STM8L101 AWU延时情况:
STM8S103 AWU延时情况:
如果需要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区别
工作需要,渐渐的开始熟悉STM8L101这款超低功耗的芯片了,呵呵... 不看不知道,一看吓一跳,这玩意手册上标明的功耗远远低于STM8S103.我们采用的还是延续着TSSOP20管脚的封装.具体的芯 ...
- Python自动化运维——文件内容差异对比
模块:difflib 安装:Python版本大于等于2.3系统自带 功能:对比文本之间的差异,而且支持输出可读性比较强的HTML文档,与Linux中的diff命令比较相似. 两个字符串的差异对比: 学 ...
- mysql 连接差异_和你一起从 0 实现一个数据库差异对比工具
对比数据的痛苦 不知道你是否也像我一样,在快乐编写代码的时候,必须进行一些数据库的数据对比工作. 诚然,一般的数据差异,比如是每一行的内容不同,市场上有比较成熟的 compare2 等对比工具. 但是 ...
- 面试官系统精讲Java源码及大厂真题 - 13 差异对比:集合在 Java 7 和 8 有何不同和改进
13 差异对比:集合在 Java 7 和 8 有何不同和改进 更新时间:2019-09-19 09:39:16 时间像海绵里的水,只要你愿意挤,总还是有的. --鲁迅 引导语 Java 8 在 Jav ...
- Atitit 硬件 软件 的开源工作 差异对比
Atitit 硬件 软件 的开源工作 差异对比 1.1. 模块化,标准化,以及修改的便捷性1 1.2. 生产和发布成本 1 1.3. 3. 入行门槛搞2 1.4. 在软件业极度发达的今天,任何具 ...
- SeaJS 与 RequireJS 的差异对比
这篇文章主要介绍了SeaJS 与 RequireJS 的差异对比,本文主要对CMD规范和AMD规范的弊端做了对比,并做出了一个总结,需要的朋友可以参考下 "历史不是过去,历史正在上演.随着 ...
- python 配置文件对比_Python3实现配置文件差异对比脚本
应用场景:配置文件由于升级改动了,我们想看看升级后的配置文件相对于之前的改动了哪些配置项 注意:这个脚本只能检测的配置文件是键值对的形式,就是key=value的形式 我在网上找了好久没找到这一块的案 ...
- python文本文件对比_Python-文件差异对比
一.示例1: 比较text1与text2的差异 1.import difflib text1 = 'hello a b' text2 = 'hello b' text1_lines = text1.s ...
- 7家自媒体创业项目平台收益技巧和差异对比,你适合哪个?
大家好,我是头条玩家! 给大家分享一个七家自媒体平台的创业项目爆文收益技巧分析和差异对比!自媒体平台现在有很多,其中百家号.大鱼号.企鹅号.头条号.新浪看点.网易号.搜狐号都是比较主流的自媒体平台,当 ...
- 【文本差异对比工具网页版】
文本差异对比工具网页版 html+js 免部署打开html文件即用
最新文章
- 2019年上半年收集到的人工智能循环神经网络干货文章
- elasticsearch 分页_[Springboot实战系列]整合ElasticSearch实现数据模糊搜索
- java 手动线程调度_Java Thread 多线程 操作线程
- 下载python需要注意什么_用户在对Python下载的时候,这些注意事项不能忽视
- Java多线程系列--“JUC锁”05之 非公平锁
- Android(组件大全)
- 一致性哈希的分析与实现
- php 自己电脑运行内存,php 统计网页打开耗时和脚本运行内存
- 命令查看mysql端口映射_【转载】烂泥:如何利用telnet命令检测端口映射是否成功...
- 敏捷图书排行 (2011年修订)【转】
- .NET技术(Path)
- 20200611每日一句
- 情人节送对象什么礼物好?适合送男友的礼物
- ug二次开发python_学习UG NX软件二次开发你必须具备这些基础!
- Sublime Text安装与配置
- 解释:什么是木马、蠕虫、病毒
- IT人才外包服务的好处?
- python职场应用英语作文_职场英语作文万能句子
- 瑞昱rtl8168网卡支持Linux吗,我的集成网卡RTL8111/8168B终于搞定(非常感谢ubuntu中文论坛)...
- 高中OJ3837. 【NOIP2014模拟9.14】心灵终结