📄 i2c.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 + -