stm8的IIC库的使用】的更多相关文章

一.前言 stm8是一款低功耗的MCU芯片,它具备stm32库函数和资源丰富的优势.也同时具有价格便宜,低功耗的特点.在一些项目中,能起到很好的作用.下面我介绍一下stm8的IIC硬件库函数驱动代码及实现. 二.IIC基本操作 iic基本操作分为读操作和写操作,这两个操作就可以对设备进行一些基本的操作了.还要知道设备的地址就ok了,具体的IIC时序大家可以上网看看. 三.实现代码 1.先要启动IIC的时钟,保证可以正常工作. CLK_PeripheralClockConfig (CLK_Peri…
1. 综述 由上篇博客可知道IIC协议如何用代码实现,本篇博客就不涉及协议内容,只讲解如何使用. 本次的实验传感为:DS3231(时钟模块),对于时钟模块的具体信息我也就不多介绍,大家可以自行度娘,具体功能无非就是让单片机中能够起到获取时间的作用.该模块是可以由IIC协议去驱动的,再加上所要的操作也是比较简单,部分刚接触IIC协议的小伙伴可以拿来练手的一个模块. 2. 明确任务顺序 个人习惯,在每驱动一个新传感的时候,我会将我要完成的传感分为几个任务点.接下来就展示一下我在写DS3231模块时的…
1. 综述 I2C(IIC,Inter-Integrated Circuit),两线式串行总线,由PHILIPS公司开发用于连接微控制器及其外围设备. 它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据.在CPU和被控IC之间.IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上.但在STM8中,400kHZ已经是最快速度了. 2.关于STM8S103手册的I2C简介 芯片手册中只对I2C的特点进行了简单的讲解,但并未深入解析其中的过程. 3. I2C详细解析 I2C…
前言:LiquidCrystal是一个1602的IIC库,使用IIC协议可以极大节约用线数量,十分方便.当然,前提是1602要使用LCD1602 I2C模块. 一.库函数快速查询 LiquidCrystal() //构造函数 begin()                        //指定显示屏尺寸 clear()                     //清屏并将光标置于左上角 home()                 //将光标置于左上角(不清屏) setCursor()    …
算是填了最先挖的VFD坑 最近pcb厂家神仙打架,为PCB普及做出了巨大贡献,到这事儿发生我也就开了两三次板,都赶上这个时间了,不开白不开! 不说了,上图! sch: pcb: 方案和之前的除了驱动电路都一样,以前那个自己绕变压器的方案发热量太大了.但是那组电路参数照样可以用的. 这次pcb除了几处纰漏,灯丝高压应该直接改为负高压,还有就是pmos不知道为啥错位了,可能是拼版的时候不小心移动了. 至于程序方面大部分直接用,由于不想改显示驱动,grid和digit还是将错就错,加一步call tr…
教程:http://geek-workshop.com/thread-37484-1-1.html 源码:链接:https://pan.baidu.com/s/1yuYYqsM-WSOb0AbyAT0qrQ 密码:d8e8 本帖最后由 zyzand 于 2018-5-10 16:00 编辑 前段时间,学校发了通知,说寝室要安智能电表了,由原来的每月底后付费改成预付费,说是没余额会自动断电,通过微信平台查询和缴纳电费.打开查电费的界面看了一下,发现缴费的界面是需要在微信里才能打开的,但查询的界面能…
前言:Wire.h是Arduino的IIC库. 一.Wire库函数 Wire.begin() Wire.requestFrom() Wire.beginTransmission() Wire.endTransmission() Wire.write() Wire.available() Wire.read() Wire.onReceive() Wire.onRequest() 二.库函数详细介绍 1.Wire.begin() 和 Wire.begin(address) 描述 初始化wire库 ,…
参考传送门 关于IIC的原理这里我就不多说了,网上有很多很好的解析,如果要看我个人对IIC的理解的话,可以点击查看,这里主要讲一下怎样利用STM32CubeMx实现IIC的通讯,经过个人实践,感觉HAL库的硬件IIC要比标准库的稳定.好了,下面就从STM32CubeMx 配置开始一步步实现IIC通讯. STM32CubeMx的配置,这里关于新建工程的步骤我就不细说了,如果还不会操作STM32CubeMx 的可以点击查看, 这里主要对IIC的配置进行说明. 了解IIC的都知道,IIC通信有主从机之…
#ifndef _IIC_H #define _IIC_H #include "stdio.h" #include "stm32f1xx_hal.h" /* 定义控制 SDA SCL 的宏 标准库版 #define I2C_SDA_UP GPIO_SetBits (GPIOC,GPIO_PIN_8) //SDA高电平 #define I2C_SDA_LOW GPIO_ResetBits(GPIOC,GPIO_PIN_8) //SDA低电平 #define I2C_S…
经过一番挣扎,还是决定使用官方的固件库了.. 从网上下一个STM8S的固件库,记得是FOR IAR的. 找到里面的IAR模板就可以开始用了. 这些都是直接写好的库函数,可以直接调用,但首先得先读懂,先了解些必备知识. STM8的寄存器的地址 在STM8中,与某个外围设备有关的寄存器在地址上都是顺序排列的:比如与GPIO有关的寄存器有ODR.IDR.DDR.CR1.CR2,与PA口有关的这五个寄存器就被安排在了0x00 5000~0x00 5004这5个地址空间中,它们有一个0x005000的基地…