单片机问题求助。。。为什么24c02 不能够写进去数据呢??
发布网友
发布时间:2022-04-26 17:49
我来回答
共2个回答
热心网友
时间:2023-10-18 23:12
1、24C02的察写次数有限,最多10000次,每秒写一次,一会就被你给写坏了
2、24C02每次写一个数据至少需要10ms的时间,
3、通信速度,最快100KHZ追问貌似没有回答我的问题呢?
追答察写频率太高了,24C02被你给写坏了,还有可能是写保护被打开了(如果你的硬件电路WP接地了,就没有这个问题)
热心网友
时间:2023-10-18 23:12
/*****************写一个字节***********/
void write_byte( char date)
{
char i,temp;
temp = date;
for( i = 0; i < 8; i++)
{
temp = temp << 1;
SCL = 0;
delay();
SDA = CY; //-错在这里。CY??这个是C语言,没有CY可以判断
delay();
SCL = 1;
delay();
}
SDA = 1; //-这里可能导致出错。
delay();
}
我写一段。
void write_byte( char date)
{
char i,temp;
temp = date;
for( i = 0x80; i !=0; i>>=1) //-高位先发。改低为先发,则修改0X80为0X01,》改为《
{
SCL = 0;
delay();
if((date & i) != 0)
{
SDA = 1;
}
else
{
SDA = 0;
}
delay();
SCL = 1;
delay();
}
delay();
}