- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AVR TWI程序
AVR TWI程序
AVR TWI程序
i2c.h
/****************************************************************************
Title : C include file
Software: AVR-GCC with AVR-AS
Target: any AVR device
*****************************************************************************/
#ifndef __I2C_DEV_H
#define __I2C_DEV_H
#define TWPS0 0
#define TWPS1 1
#define TWEN 2
#define TWIE 0
#define TWEA 6
#define TWINT 7
#define TWSTA 5
#define TWSTO 4
#define TWCR_CMD_MASK 0x0F
#define TWSR_STATUS_MASK 0xF8
// return values
#define I2C_OK 0x00
#define I2C_ERROR_NODEV 0x01
#define I2C_SEND_DATA_BUFFER_SIZE 0x10
#define I2C_RECEIVE_DATA_BUFFER_SIZE 0x10
//#define F_CPU 8000000
#define TRUE 1
#define FALSE 0
// types
typedef enum
{
I2C_IDLE = 0, I2C_BUSY = 1,
I2C_MASTER_TX = 2, I2C_MASTER_RX = 3,
I2C_SLAVE_TX = 4, I2C_SLAVE_RX = 5
} eI2cStateType;
unsigned char DevNum;
void i2cInit(void);
void i2cMasterSend(unsigned char deviceAddr, unsigned char length, unsigned char* data);
void ClearReceiveBuf(void);
#endif /* #ifndef __I2C_DEV_H */
/*######################################################################################################*/
/* T H E E N D */
/*######################################################################################################*/
i2c.c
/****************************************************************************
Title : C file for the I2C FUNCTIONS library (i2c.c)
Software: AVR-GCC with AVR-AS
Target: any AVR device
*****************************************************************************/
#i nclude avr/io.h
#i nclude avr/iom16.h
#i nclude util/twi.h
#i nclude avr/interrupt.h
#i nclude unit_main.h
#i nclude i2c.h
// I2C标准波特率:
// 低速 100KHz
// 高速 400KHz
// I2C 状态和地址变量
static volatile eI2cStateType I2cState;
static unsigned char I2cDeviceAddrRW;
// 发送缓冲区
static unsigne
您可能关注的文档
最近下载
- 导数常用公式及练习题(必威体育精装版最全) .pdf
- DB32_T 3706-2019 住宅装饰装修质量规范(江苏省).pdf
- 冰雪运动知识竞赛100题(含答案).pdf VIP
- 姓氏笔画排序表.pdf VIP
- 苗木成活率保证措施.pdf VIP
- (正式版)D-Z-T 0452.2-2023 稀土矿石化学分析方法 第2部分:铝、铁、钙、镁、钾、钠、钛、锰、磷及15个稀土元素含量测定 混合酸分解―电感耦合等离子体原子发射光谱法.docx VIP
- 《国家公务员制度》(舒放)第4章.pptx VIP
- 中产车市洞察报告(2024版)-2024-07-市场解读.docx VIP
- 分布式光伏屋顶调查表.pdf VIP
- 优秀获奖感言.pptx
文档评论(0)