初级会员

- 积分
- 74
- 金钱
- 74
- 注册时间
- 2015-2-24
- 在线时间
- 0 小时
|

楼主 |
发表于 2015-3-18 19:27:36
|
显示全部楼层
回复【9楼】xuande:
---------------------------------
#include"sys.h"
#include"iic.h"
#include"24c02.h"
#include"delay.h"
void IIC_Continus_Write(u8 WriteAddrs,u8 *Num,u16 NumToWrite)
{
IIC_Start(); //开始信号
IIC_Send_Byte(0xA0); //写入器件地址+0
delay_ms(2);
IIC_Wait_Ack(); //等待应答
IIC_Send_Byte(WriteAddrs); //写入目标内存地址
delay_ms(2);
IIC_Wait_Ack();
while(NumToWrite) //开始写入
{
IIC_Send_Byte(*Num);
IIC_Wait_Ack();
++Num;
NumToWrite--;
delay_ms(2);
}
IIC_Stop(); //结束IIC
}
void IIC_Continus_Read(u8 ReadAddrs,u8 *Array,u16 Len)
{
IIC_Start(); //开始信号
IIC_Send_Byte(0xA0); //写入器件地址+0
delay_ms(2);
IIC_Wait_Ack(); //等待应答
IIC_Send_Byte(ReadAddrs); //写入要读取的内存地址
delay_ms(2);
IIC_Wait_Ack();
IIC_Start(); //重新发送开始信号
IIC_Send_Byte(0xA1); //写入器件地址+1
delay_ms(2);
IIC_Wait_Ack();
while(Len)
{
*Array=IIC_Read_Byte();
IIC_Ack();
++Array;
Len--;
}
IIC_Stop();
}
我表示我延时了,还是不行。。。究竟是什么情况啊?
麻烦了,非常感谢! |
|