i2c.h

来自「MP3播放程序」· C头文件 代码 · 共 50 行

H
50
字号

//********************************************************************************************
//
// Title		: MP3测试 - 软I2C驱动程序文件头
// Author		: Ant (gz_ant@126.com)
// Created		: 2005/02/16
// Revised		: 2005/02/19
// Version		: 0.1
// Target MCU	: MEGA16
// Editor Tabs	: 4
//
// 注: 	本代码用于测试STA013硬件及其驱动程序, 并非一个完整的MP3播放器程序.
//		上电后,会循环不停播放一段约2秒的MP3音乐.
//		硬件没有连接RAM缓冲及储存MP3文件的设备, MP3数据是保存在AVR的FLASH中.
//		本代码经测试, 但可能存有Bugs, 若你发现有任何Bug或有任何建议,
//		请来信告知: gz_ant@126.com
////		本代码部分来自"Procyon AVRlib": http://hubbard.engr.scu.edu/embedded/avr/avrlib/release_notes.html
//		特此感谢它的创始人: Pascal Stang !
//
//		感谢在www.21icbbs.com帮助过winsu的朋友, 希望使用者能发扬网络的 "自由,开放" 精神.
//********************************************************************************************

#ifndef __I2C_H__
#define __I2C_H__


//#define SYSCLK ((u32)FEQ*1000000)
#define TWI_SLA_24CXX	0xa0
#define MAX_ITER	200
#define PAGE_SIZE 8

#define IIC_DEVICE_ID	0xA0

void I2C_Ini(void);
void IICStart(void);
void IICStop(void);
u8 IICRecAck(void);
void IICACK(void);
void IICNoAck(void);

void IICSendByte(unsigned char sendbyte);
unsigned char IICReceiveByte(void);
void ReadIC(u16 addr,u8 ReadLen,u8 *buff);
void WriteICByte(u16 addr, u8 data);
void WriteICPage(u16 addr,u8 ReadLen,u8 *buff);

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?