STM32-I2C
kuzuiu001
这个作者很懒,什么都没留下…
展开
-
STM32-I2C驱动-AT24C02-EEPROM
SOC:STM32F103RCT6 PB10作为SCL和AT24C02相连,PB11作为SDL和AT24C02相连。软件平台:STM官方库V3.5.0开发工具:KeilAT24C022C访问代码(轮询)I2C这里使用轮询方法,不是中断,请留意。首先,给出I2C控制器的初始化代码,和读写代码,一共三个函数,对应三个功能注意:这里是使用I2C控制器2。1. uint16_...转载 2019-05-20 15:00:52 · 2424 阅读 · 1 评论 -
STM32-I2C驱动-AT24C01-EEPROM
#define AT24C01 //24C01,I2C的时序和普通的有点不同#define EEPROM_ADDR0xA0#define I2C_PAGESIZE4 //24C01/01A页缓冲是4个void I2C_Configuration(void){I2C_InitTypeDef I2C_InitStructure;GPIO_InitTypeD...转载 2019-05-20 17:44:16 · 2066 阅读 · 1 评论 -
STM32-GPIO模拟-标准IIC驱动
IIC由 PHILIPS 两线式串行总线,用于连接制器及其外围设备。由数据线 SDA 和时钟 SCL 构成的串行总线,可发送和接收数据。在 CPU 与 IC 之间、IC 与 IC 之间进行双向传送,高速 IIC 可达 400kbps 以上。I2C 总线在传送数据过程中信号:1 总线空闲判断 SCL 和 SDA 全为高.2 开始信号:SCL 为高电平时,SDA 由高电平向低电平跳...转载 2019-05-18 10:43:32 · 2006 阅读 · 0 评论 -
STM32-I2C驱动-AT24CXX-EEPROM
AT24Cxx系列EEPROM,基于IIC的,在基本的IIC上加入了一些通讯协议,具体如下1.随机写主器件发送起始命令和从器件地址信息(R/W 位置 0)给从器件,主器件在收到从器件产生应答信号后,主器件发送 1 个 8 位字节地址写入 AT24C01/02/04/08/16 的地址指针,对于 AT24C31/64/128/256 来说,所不同的是主器件发送两个 8 位地址字写入...转载 2019-05-18 10:42:29 · 1155 阅读 · 0 评论 -
I2C通信时序图解析
二、I2C协议标准代码2.1 起始信号&停止信号 起始信号:当 SCL 线是高电平时 SDA 线从高电平向低电平切换。 停止信号:当 SCL 线是高电平时 SDA 线由低电平向高电平切换。2.1.1 起始信号代码 1 2 3 4 5 6 7 8 9 10 voidI...转载 2019-05-18 11:55:13 · 6718 阅读 · 0 评论 -
IIC总线学习
IIC协议简要说明:1.2条双向串行线,一条数据线称为SDA,一条时钟线SCL,双向半双工2.传输的设备之间只是简单的主从关系,主机可以作为主机发送也可以作为主机接收,任何时候只能由一台主机发送数据3.最多只是同时挂载128台设备(2^7),而且能够在通信过程中改变主从身份(spi每次通信前要先设定好主机不变),可以通过仲裁和冲突检测防止总线数据被破坏(后面讲)。连接到总线的IC数...转载 2019-05-18 14:50:54 · 473 阅读 · 0 评论 -
STM32-I2C驱动-TMP101-温度传感器
搞这个历程差不多花了我一个周末的时间,一片小小的TMP101确实让我破费脑筋。最后甚至使用了示波器直接观察SDA SCL 的波形。不过示波器的使用确实纠正我一个严重且低级的错误。这期间也在网上搜过STM32 的I2C 应用 大多都是在说 STM32 的I2C固件库写的烂、STM32的硬件有问题、I2C接口没法用等等,最后解决方式都是用软件像51那样用IO口软件模拟IIC时序。但我看...转载 2019-05-18 17:34:57 · 5386 阅读 · 2 评论 -
STM32-I2C驱动-AT24C01A-EEPROM
#define AT24C01A //24C01A,I2C时序和往后的24C02一样#define EEPROM_ADDR0xA0#define I2C_PAGESIZE4 //24C01/01A页缓冲是4个void I2C_Configuration(void){I2C_InitTypeDef I2C_InitStructure;GPIO_InitTy...转载 2019-05-18 18:21:46 · 965 阅读 · 0 评论