EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
PIC单片机之I2C(从模式)* v, q3 i; }6 L# K
4 C @- s1 T7 ?& o7 G+ Z
3 D3 w$ L" L$ y$ \1 ^' K+ Z9 O3 C网上有许多讲解单片机 实现I2C主模式,但是从模式的很少。我现在就来讲讲PIC单片机使用MSSP模块实现I2C从模式。 有关I2C协议的具体介绍可以看 《PIC单片机之I2C(主模式)》,我们这里直接讲解实例 实例讲解:我们模仿 AT24C02 EEPROM 的协议。让一个主模式的单片机,来读取从模式单片机的数据。 下面为AT24C02的随机地址读取的协议。 第一个字节 :输入7位地址和一位的写状态位, 第二个字节:然后写入EEPROM数据地址, 第三个字节:输入7位地址和一位的读状态位, 第四~N个字节:读出的EEPROM的数据。 ![]()
我们来讲解下程序的基本思路:我们使能了MSSP中断,即是I2C接收中断,当PIC单片机接收到一个数据后就会产生中断。那是接收到设备地址,还是接收到数据,由SSP1STAT寄存器的状态位来判断。 需要判断的状态位分别是 : 数据和地址: 用来判断接收到是地址还是数据 启动位: 用来判断是否接收到启动位 读写: 用来判断是写状态还是读状态。 缓存满: 用来判断缓冲区是否满 我们以随机地址读取为例:讲讲程序执行的过程 7 @) c! a3 T. k
|