
STM8L
文章平均质量分 80
ydogg
白驹过隙
展开
-
STM8L 简单按键复用处理(短按、长按)
文章目录前言一、实现原理二、使用步骤1.按键中断初始化2.定时器操作3. 中断处理总结前言开发中经常遇到按键数很少,却要实现多种类型触发功能的场合,比如短按、长按、双击等等,即所谓按键复用。一般情况下,都是在中断函数中收到终端,做延时判断、防抖等处理。但中断处理不能太久,所以稍微好一些的实现,基本是用定时器来扫描处理。关于这个按键复用功能,ESP的一个项目esp-iot-solution中,有一个非常棒的实现,大家可以参考。本文描述的是一个简单实现方法,简洁易用。一、实现原理为减少中原创 2021-10-22 13:34:54 · 1897 阅读 · 0 评论 -
使用STM8L的硬件I2C(四)硬件I2C的使用注意
使用STM8L的硬件I2C(四)硬件I2C的使用注意使用STM8L的硬件I2C时,有几个点要注意:I2C的初始化时钟的使能操作必须在其他I2C设置之前,否则设置不生效CLK_PeripheralClockConfig(CLK_Peripheral_I2C1, ENABLE);Slave地址的设置这一点让人困扰,花了不少时间才搞清楚。是因为标准库函数I2C_Send7bitAddress()并不会帮助你左移。这个左移动作必须由用户完成,如下:I2C1, _i2c_dev.addr原创 2021-01-17 21:28:15 · 1158 阅读 · 0 评论 -
使用STM8L的硬件I2C(三)硬件I2C的中断读写处理
STM8L的硬件I2C(三)硬件I2C中断读写1、I2C初始化关于I2C初始化的流程,标准库中的注释写的非常清晰: * 1. Enable peripheral clock using CLK_PeripheralClockConfig(CLK_Peripheral_I2Cx, * ENABLE) function (Refer to the product datasheet for the available I2C * p原创 2021-01-15 22:40:28 · 7044 阅读 · 1 评论 -
使用STM8L的硬件I2C(二)硬件I2C的事件和检测
STM8L的硬件I2C(二)硬件I2C的事件和检测1、STM8L STD库对I2C状态的定义I2C有Master写、Master读、Slave写、Slave读4种模式。直接寄存器编程当然可以,不过必须吃透Reference手册,而且代码不直观,不易理解。STD标准库对这四种方式做了抽象,对通信的各阶段都定义了状态进行指示,从而使得使用逻辑更直观易懂。下面以Master读写为例进行介绍:Master写流程:Master读流程:2.EV状态的定义上述抽象出的各种状态(EV1-原创 2021-01-13 22:54:07 · 2375 阅读 · 0 评论 -
使用STM8L的硬件I2C(一)硬件I2C简介
STM8L的硬件I2C(一)硬件I2C简介和使用方法的选择I2C是常用的外设协议,用途广泛。很多时候为了实现简单,在STM8上大家都是用GPIO来模拟I2C工作。STM8L自带硬件I2C,不过相对于模拟I2C的清晰简单,硬件I2C的处理要麻烦一些。一是必须要理解各寄存器用法,二是使用STD库时还须理解STD抽象出的I2C接口和使用逻辑。模拟I2C一般情况下使用问题不大,但若同时要处理其他外设或者对延时有要求,模拟方法就力不从心,如使用硬件I2C,就可以采用中断处理解决。1、I2C协议回顾原创 2021-01-08 22:33:40 · 2692 阅读 · 1 评论 -
STML8的中断使用小结
STM8L的中断,有两种模式,分别为Pin模式和Port模式,也就是所谓线中断和端口中断。 简而言之,线中断是指所有寄存器组的同一管脚Pin的中断都使用同一中断号, 端口中断是指同一个或多个寄存器组的所有管径Pin的中断使用同一中断号。 举例而言, 所有Port A/B/C/D/E的Pin1的中断都是EXTI1, Port B 和Port G的所有Pin的中断都是EXTIB/G实现方原创 2018-01-04 16:21:44 · 6309 阅读 · 4 评论 -
STM8L 简单定时器使用
STM8L中有多个定时器,TIM1最高级,其他都是普通定时器,一般情况下也够用。最简单的示例初始化 // TIM3时钟使能 CLK_PeripheralClockConfig(CLK_Peripheral_TIM3, ENABLE); // 默认初始化 TIM3_DeInit(); // 最主要处理:设置计数(延时时间)原创 2018-01-17 10:51:38 · 4274 阅读 · 2 评论 -
STM8L USART串口使用
USART串口使用STM8L上有多个串口,最多可达5个,分别为USART1~USART5,但依据型号不同,搭载数量并不相同。 以STM8L052R8为例,其只具有USART1~USART3。 因为STM8系列功能众多,很多Pin都是复用的,因此使用前必须检查STML的参考手册。 通过手册可知,以USART1为例,RX/TX可以使用以下的管脚,默认是PC2/PC3, 如果要变更,需要修改原创 2018-01-17 10:34:32 · 10953 阅读 · 8 评论 -
STM8L EEPROM DATA数据读写
一、概要 STM8系列一般拥有如下几种三种数据区用户启动区域(UBC)数据EEPROM(DATA)主程序区选项字节(Option byte)用户启动区域(UBC)包含有复位和中断向量表,它可用于存储IAP及通讯程序; 数据EEPROM(DATA)区域可用于存储用户具体项目所需的数据; 主程序区是指在FLASH程序存储器中用于存储应用代码的区域; 选项字节用于配置硬件特性和...原创 2018-07-13 18:28:49 · 7798 阅读 · 3 评论