Atmega128的IIC初始化程序Atmega128的IIC初始化程序
/************************************************
文件:TWI.c
用途:TWI操作函数
************************************************/
#include "main.h"
//宏定义
#define I2C_MT_START 0x08 //I2C主机发送 START 信号已经发出
#define I2C_MT_RepeatStart 0x1...
Atmega128的IIC初始化程序
/************************************************
文件:TWI.c
用途:TWI操作函数
************************************************/
#include "main.h"
//宏定义
#define I2C_MT_START 0x08 //I2C主机发送 START 信号已经发出
#define I2C_MT_RepeatStart 0x10 //I2C主机发送 重复START 信号已经发出
#define I2C_MT_SLA_W_ACK 0x18 //I2C主机发送 从机写ID已经发出 并 收到应答
#define I2C_MT_DATA_ACK 0x28 //I2C主机发送 数据已经发出 并 收到应答0x28
#define I2C_MR_SLA_R_ACK 0x40 //I2C主机接收 从机读ID已经发出 并收到应答
#define I2C_MR_DATA_NACK 0x58 //I2C主机接收 数据已经收到 非应答NACK已经发出
/*************************************************************************
** 函数名称: twi_init(void)
** 功能描述: i2c通信初始化
** 输 入:
** 输出 :
** 全局变量: 无
** 调用模块:
** 说明:
** 注意:
**************************************************************************/
void i2c_init(void)
{
TWCR= 0x00; //disable twi
TWBR= 0xAA; //set bit rate
TWSR= 0x00; //set prescale
TWCR= 0x44; //enable twi
delay_nms(10);
}
/*************************************************************************
** 函数名称: i2cstart(void)
** 功能描述: i2c通信开始
** 输 入:
** 输出 :
** 全局变量: 无
** 调用模块:
** 说明:
** 注意:
**************************************************************************/
void i2c_start(void)
{
TWCR = (1<
本文档为【Atmega128的IIC初始化程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。