⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i2c.h

📁 LWIP在STM32裸机上的移植
💻 H
字号:
#ifndef __I2C_H
#define __I2C_H

#include "stm32f10x.h"

/* EEPROM Addresses defines */
#define I2C_EEPROM_ADDRESS 	0xA0

#define I2C_Speed              40000	//标准模式40K
#define I2C1_SLAVE_ADDRESS7    0xA0 	/*器件从地址*/
#define I2C_PageSize           32		/*EEPROM页面大小为8bit*/

#define EEP_Cmd71_Address			0x0041		//0x71指令设置标记(临时状态数据)
#define EEP_Cmd77_Address			0x0047		//0x77指令设置标记(设置IP地址)		

#define EEP_EffectBK_Address		0x004E		//原效果标记
#define EEP_Tablen_Address			0x0050		//0x78指令(播放列表的长度)

#define EEP_IP_Address     			0x0080		//0x77指令(12 Byte)
#define EEP_Time_Address			0x0090		//0x76指令()

#define EEP_Tuizi_Address			0x00A0		//推子模块地址
#define EEP_Input_Address			0x00B0		//输入板卡地址
#define EEP_Output_Address			0x00C0		//输出板卡地址

#define EEP_TempScene_Address		0x0200		//0x71指令(271Byte)
#define EEP_InputState_Address 		0x0200		//0x71指令(240Byte)
#define EEP_HotFire_Address			0x02F0		//0x71指令( 4 Byte)
#define EEP_OutputSet_Address		0x02F4		//0x71指令(20 Byte)
#define EEP_OutputGain_Address		0x0308		//0x71指令( 6 Byte)
#define EEP_SyncMode_Address		0x030E		//0x71指令( 1 Byte)
#define EEP_TempKeyState_Address	0x0310		//0x71指令(临时按键状态)

#define EEP_EffectTest_Address		0x0340		//0x74指令(13 Byte)
#define EEP_EffectData_Address		0x0350		//0x75指令(48 Byte)
#define EEP_EffectAddr_Address		0x0380		//设置效果保存

#define EEP_PlayTable_Address		0x0400		//0x78指令(240Byte)

#define EEP_ScenNum1_Address		0x0800		//0x79指令(311Byte)(场景一)
#define EEP_ScenNum2_Address		0x0A00		//0x79指令(311Byte)(场景二)	
#define EEP_ScenNum3_Address		0x0C00		//0x79指令(311Byte)(场景三)	
#define EEP_ScenNum4_Address		0x0E00		//0x79指令(311Byte)(场景四)	

#define I2C_DELAY_TIME              ((uint32_t)0x0000FFFF)

void I2C_EE_Init(void);

void I2C_ByteWrite(u8 Addr_device,u8 Addr_data,u8 data);

void I2C_EE_ByteWrite(u8 pData, u16 WriteAddr);				//写一字节
void I2C_EE_WordWrite(u16 pData, u16 WriteAddr);			//写两字节
void I2C_EE_ClearWrite(u16 WriteAddr, u8 NumByteToWrite);	//清零区域

//void I2C_EE_ByteWrite(u8* pBuffer, u16 WriteAddr);
void I2C_EE_PageWrite(u8* pBuffer, u16 WriteAddr, u8 NumByteToWrite);
void I2C_EE_BufferWrite(u8* pBuffer,u16 WriteAddr, u16 NumByteToWrite);
void I2C_EE_BufferRead(u8* pBuffer, u16 ReadAddr, u16 NumByteToRead);
void I2C_EE_WaitEepromStandbyState(void);

#endif 

⌨️ 快捷键说明

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