工作需要,渐渐的开始熟悉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区别相关推荐

  1. STM8S103 105唯一序列码的读取

    http://blog.sina.com.cn/s/blog_542bad910101skfs.html 看下面 以上是两个STM8S103的唯一码,从图中可看出,重点为前4字节有所区别,后面的批号要 ...

  2. STM8S103之ADC

    如何快速了解ADC,查看Reference manual中ADC registers章节,初步了解到ADC ADC buffer register和ADC data register Analog W ...

  3. RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别

    1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...

  4. C++ 笔记(28)— C++ 中 NULL和 nullptr 的区别

    最近看公司代码的时候发现在判断指针是否为空的时候,有的时候用的是 NULL, 有的时候用的是 nullptr 感觉很奇怪,好奇心驱使我查了下两者的区别,发现还是有很多细节需要学习的. 1. NULL ...

  5. gcc 和 g++ 的联系和区别,使用 gcc 编译 c++

    GCC 编译器已经为我们提供了调用它的接口,对于 C 语言或者 C++ 程序,可以通过执行 gcc 或者 g++ 指令来调用 GCC 编译器. 实际使用中我们更习惯使用 gcc 指令编译 C 语言程序 ...

  6. Python2 与 Python3 区别

    Python2.x 与 Python3.x 区别 1. print 函数 Python2 中 print 是语句(statement),Python3 中 print 则变成了函数.在 Python3 ...

  7. Docker 入门系列(1)- 初识容器,镜像、容器、仓库的区别

    Docker 简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发 ...

  8. HTTP 协议入门 — (TCP/IP协议族、通信传输流、URI 与 URL 的区别、Cookie 状态管理、HTTP 支持的方法、状态码类别、HTTP 首部字段)

    TCP/IP协议族 在介绍 HTTP 协议之前,我们先对 TCP/IP 协议族有个大概的了解,TCP/IP 协议从上到下主要分为应用层.传输层.网络层和数据链路层,各层的主要功能如下表所示: 协议层 ...

  9. python二进制打开(rb)和文本格式打开(r)什么区别?

    使用 open() 函数以文本格式打开文件和以二进制格式打开文件,唯一的区别是对文件中换行符的处理不同. 在 Windows 系统中,文件中用 "\r\n" 作为行末标识符(即换行 ...

最新文章

  1. python 学习
  2. SyntaxHighlighter Evolved高亮插件的编程语言及语言别名对照表
  3. system 后门 php,php后门的编写
  4. php生成不重复时间戳,PHP获取时间戳和微秒数以及生成唯一ID
  5. java8 stream多次map_java8streamapi:如何将列表转换为在列表中具有重复键的MapLong,Set?...
  6. 用java输出真值表离散数学_离散数学 第一章 命题逻辑 1-4真值表与等价公式
  7. java 微信导航栏_微信小程序教程系列之设置标题栏和导航栏
  8. mybatis mysql upsert_SpringBoot2.3.4+Mybatis+Phoenix操作HBase2.0.6
  9. Xcode6 部署iphone4s出现的问题 No architectures to compile for
  10. 安卓psp模拟器联机教程_安卓PSP模拟器评测:蜘蛛侠2
  11. audio语音播放组件
  12. 无线路由器实现网络接入
  13. 硬核干货 | 人脸识别的原理是什么?
  14. 网页添加 Live2D 看板娘
  15. 从零开始玩转Franka Panda机器人
  16. 科技圈的“三座大山”正在崩塌中。。。
  17. Dragonfly——一款功能强大的在线家庭装潢设计软件
  18. 今日头条2018 坐标
  19. Mysql高级-应用优化,查询缓存优化,锁
  20. 【鸿蒙】鸿蒙操作系统应用开发入门级初体验

热门文章

  1. nextjs如何启动https服务
  2. 永磁同步电机矢量控制二更
  3. 0x0000007b 电脑蓝屏的解决方法
  4. MVC模型和MTV模型
  5. 智能公交电子站牌为你报告实时交通信息,让出行更方便
  6. sublime text4在linux(ubuntu)下的安装及配置;sublime text4在linux(ubuntu)安装后输入lisence没反应;.desktop文件干嘛的
  7. Axure9 实现点击获取验证码倒计时功能
  8. EtherCAT总线伺服电机/一体化伺服电机如何清除历史报警
  9. 基于PLC/单片机控制的光机电一体化系统,QY-JDYT05
  10. 网络仿真工具eNSP安装教程