stc单片机eeprom程序数值不对

stc单片机eeprom程序数值不对,第1张

你这个是 *** 作AT24Cxx啊,I2C *** 作。我还以为 *** 作STC自带的EEPROM呢

uchar read()

{

uchar i,j,k

scl=0

delay5ms()

sda=1

delay5ms()

for(i=0i<8i++)

{

scl=1

delay5ms()

if(sda)

    k=(k<<1)|0x01

else

    k=(k<<1)&0xfe

scl=0

delay5ms()

}

sda = 1//释放数据线

return k

}

现在你试试

是读eeprom里面的数据,0到5是索引,类似数组的下标,至于读出来是什么值还要看放进去的是什么值,不过这个是16位的,数字信号肯定是0或1的,不过这个既然用了左移8位,应该不是用来当开关用的,不然都没必要这么高低位组合,直接读位就好了。航模遥控用的,有可能用来匹配地址码,还有一些遥控设置用的数据,如陀螺什么的。

BYTE IapReadByte(WORD addr) 读一字节

调用:void main()

{

A=BYTE IapReadByte()//括号里输入你需要读取的数据所在的地址

//比如BYTE IapReadByte(0x33)表示读取存储在E2PROM0x33地址处 的数据给前面的变量A。

IapProgramByte() //括号内先输入你需要写入E2PROM的地址,然后输入写给这个地址的数据。 //比如IapProgramByte(0x33,0x45)表示你希望在E2PROM的0x33这个位置写入0x45这个数据。

IapEraseSector() //括号内写入你想擦除的地址。IapEraseSector(0x66)表示你想把E2PROM的0x66这个位置写成0x00或者0xff

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11109567.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存