#ifndef __MYIIC_H_#define __MYIIC_H_#include "common.h"#include "delay.h"#include "debugserial.h"//sda 027 scl 028//IO方向设置#define IIC1_SDA_IN() P0dir(27) = 0#define IIC1_SDA_OUT() P0dir(27) = 1//I
从书上看到STM32的硬件IIC远没有硬件SPI好用,书上给的例子也是模拟IIC的,因为之前只用过51的准双向口控制过简单的IIC器件,所以好好看了下。IIC总线是由数据线SDA和时钟线SCL两条线构成的通信线路,既可以发送数据
在用STM32F103模拟IIC时,SDA的配置很有意思,既要读数据,又要写数据,这两者之间的切换通过GPIO的配置寄存器来实现。#define SDA_IN() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=8CRL|=3CRL|=87)IIC_SDA_H;elseIIC_SDA
最近用到测量光线的模块BH1750FVI时需要用到IIC总线操作, 于是就又费功夫学习了下, 基本上算是了解了, 所以呢, 就用51的IO口, 模拟出了总线时序, 并能正确操纵需要用IIC总线访问地一系列模块. 本来想写篇文章简单介绍
I2C总线是Philips公司提出的一种集成电路IC器件之间相连接的总线协议,其目的是使电子系统(不只 限于单片机系统)各个IC器件之间的连线变得容易。因为使用传统的并行总线在IC器件之间连接,往往会使得IC之间连线较多
/******************************************************************************************* 函数名称 :I2C_Delay* 功能描述 :* 参数 : 参数名称:输入/输出?类型描述** 返回值 :* 作者 :* 创建日期 :2
以前只用51做过AT24C02,后来才接触到容量更大的型号,发现了很多和以前的不一致的东西,现总结如下。在上一篇博客中已经写好了STM32用IO口模拟IIC的基本驱动代码,下面结合数据手册用上一篇博客提到的函数编写AT24C
板子上设置了EEPROM存储器,型号为AT24C02。板子的硬件连接为:SCL--->P2.4,SDA--->P2.5。直接了当,贴上程序!========================24cxx.h文件=========================#ifndef_24CXX_H_#define_24CXX_H_#in