《AVR单片机TWI读写过程实例.docx》由会员分享,可在线阅读,更多相关《AVR单片机TWI读写过程实例.docx(2页珍藏版)》请在三一办公上搜索。
1、AVR单片机TWI读写过程实例TWI: 是一种全双工的串行通讯协议,与I2C工作方式相同,由一条数据传输线SDL,一条时钟线SCL组成,对应单片机的外部引脚PC1,PC0。 由于只有两条总线,简化了系统设计。 特点: 简单,但是强大而灵活的通讯接口,只需要两根线 支持主机和从机操作 器件可以工作于发送器模式或接收器模式 7 位地址空间允许有128 个从机 支持多主机仲裁 高达400 kHz 的数据传输率 斜率受控的输出驱动器 可以抑制总线尖峰的噪声抑制器 完全可编程的从机地址以及公共地址 睡眠时地址匹配可以唤醒AVR 主机: 控制启动和停止传输的设备。主机同时要产生SCL 时钟 从机: 被主机
2、寻址的设备 发送器: 将数据放到总线上的设备 接收器: 从总线读取数据的设备TWI工作模式: 主机发送模式(MT) 主机接收模式(MR) 从机发送模式(ST) 从机接收器模式(SR) 例如, TWI 可用MT 模式给TWIEEPROM 写入数据,用MR 模式从EEPROM 读取数据。如果系统中有其它主机存在 ,它们可能给TWI 发送数据,此时就可以用SR 模式。应用程序决定采用何种模式。 模式状态缩写: S: START 状态 Rs:REPEATED START 状态 R:读一个比特(SDA 为高电平) W:写一个比特(SDA 为低电平) A:应答位(SDA 为低电平) A: 无应答位(SDA
3、 为高电平) Data:8 位数据 P: STOP 状态 SLA:从机地址 一、主机模式:可以向从机发送数据,进入主机模式,首先发送一个START信号,接着的从机地址决定了进入MT还是MR模式 主机发送、发送启动信号: TWCR=(1TWINT)|(1TWEN)|(1TWSTA); 2)、 等待应答信号: while 、启动信号: TWCR=(1TWINT)|(1TWEN)|(1TWSTA) while、发送启动信号: TWCR=(1TWINT)|(1TWEN)|(1TWSTA) while、进入主机读模式: TWDR=0Xa1 ;/TWDR=SLA+R; TWCR=(1TWINT)|(1TWEN); while、发送停止信号: TWCR=(1TWINT)|(1TWEN)|(1TWST0); 程结束 小企鹅diy 科学探究学习网 更多文章转到 文章分类单片机 /读过