C/C++ code
//iic.h
//for EEPROM
#ifndef _IIC_H_
#define _IIC_H_
#include "macro.h"
#include <stdint.h>
#include "DrvGPIO.h"
#include <stdlib.h>
//定义页长度
#define PAGELEN 32
//定义地址位数,如果是16位地址,移除下面定义
//#define ADDRESS_8BITS
#define SDA1 E_GPA,10
#define SCL1 E_GPA,11
void delay(void);
void delay_ms(unsigned long ms);
void I2C_Start();
void I2C_Stop();
bool Test_Ack();
void SendData(uint8_t buffer);
bool I2C_WriteNByte(uint8_t sla,uint16_t addr,uint8_t *s,uint16_t n);
bool I2C_ReadNByte(uint8_t sla,uint16_t addr,uint8_t *p,uint16_t n);
bool ReadPByte(uint8_t sla,uint16_t addr,uint8_t *p,uint16_t n);
bool WritePByte(uint8_t sla,uint16_t addr,uint8_t *p,uint16_t n);
uint32_t geteepsize(void);
#endif
C/C++ code
//FileName:
//Device:
//Interface:
//BaseFile:
//Description: HY3116的驱动(iic接口)
#include "iic.h"
#include "global.h"
#define _nop_() __NOP()
void SDA_H(void)
{
DrvGPIO_SetBit(SDA1);
}
void SDA_L(void)
{
DrvGPIO_ClrBit(SDA1);
}
void SCL_H(void)
{
DrvGPI
追问有iS-MM-VOCs-4的IIC程序吗?