发新帖我要提问
12
返回列表
打印
[国产单片机]

STC EEPROM

[复制链接]
楼主: yizhiyu
手机看帖
扫描二维码
随时随地手机跟帖
21
yizhiyu 发表于 2013-12-15 22:11
unsigned int 型的我做了很多测试,擦除一个扇区会将另外的扇区也擦出掉。你用的是什么型号的单片机?要 ...

我用的也是从STC的datasheet里抄的。

需要注意的是:不同型号的CPU,操作方法还不一样,这个不爽。

使用特权

评论回复
22
autopccopy| | 2013-12-18 20:33 | 只看该作者
xinxi 发表于 2013-12-17 14:24
楼上的 刚才看了你2010年的帖子,判若两人啊 https://bbs.21ic.com/icview-213942-1-1.html ...

呵呵

haha_hehe.JPG (40.68 KB )

haha_hehe.JPG

使用特权

评论回复
23
yizhiyu|  楼主 | 2013-12-18 22:03 | 只看该作者
Ketose 发表于 2013-12-17 17:14
经测试,是楼主程序的问题。我这里没有出现楼主说的那种情况。

哦,谢谢你的回答。

这是我程序大概是这样的       
main()
{
       CurrentAdds = 0xe1;     //第一次下载的时候写入

       Sector_Erase(EEPROM_IDAddres);                                  //擦除EEPROM
        Sector_Erase(0x200);
        Byte_Program(EEPROM_IDAdds,CurrentAdds);//将地址存储到EEPROM中,
        while(**!='\0')
        {
                 Byte_Program(EEPROM_**Adds+i,**);        //将信息存储到EEPROM中
                 i++;
        }
       //第二次下载时,注释以上
        CurrentAdds = Byte_Read(EEPROM_IDAddres);//从EEPROM中读取本机地址

    while(1)
   {
        if(AddsChange)//如果地址改变                {       
                        AddsChange=0;
                        Sector_Erase(EEPROM_IDAddres);                          //擦除EEPROM
                        Byte_Program(EEPROM_IDAddres,CurrentAdds);//将改变后的本机地址存储到EEPROM中       
                }
   }
}
在通信的过程中可能会重新设定地址,但是将新地址写入EEPROM后,以前写的**信息就没了,我可以肯定它们是在不同的扇区的。我尝试了别的扇区都是这样子,弄得我没折了。

        

使用特权

评论回复
24
yizhiyu|  楼主 | 2013-12-18 23:16 | 只看该作者
刚刚使用51系列的试了下,没问题,又找到12的试了下,也没问题。 应该当时测得时候用的EEPROM底层哪几个函数里面有问题,IAP_ADDRH,IAP_ADDRL这个赋值不正确。是在惭愧啊!慎重向各位道歉,向STC道歉。不能发牢骚啊。

使用特权

评论回复
25
McuPlayer| | 2013-12-18 23:41 | 只看该作者
问题解决了就好,弯路也是经验,也可以分享给大家,帮其他人少走弯路

使用特权

评论回复
26
rocdove| | 2013-12-19 00:50 | 只看该作者
国产要不断进步啊

使用特权

评论回复
27
analog88| | 2013-12-24 17:26 | 只看该作者
McuPlayer 发表于 2013-12-18 23:41
问题解决了就好,弯路也是经验,也可以分享给大家,帮其他人少走弯路

同意,遇到问题大家一起分享很好。国产MCU还有很多需要提高的地方,在交流过程中大家一起提高

使用特权

评论回复
28
12864| | 2013-12-30 06:37 | 只看该作者
kolo 发表于 2013-12-16 16:53
也还不错,我在一个小产品中使用,没见有啥问题,STC12C5410,又便宜。

哇,12C5410那么古老你还在用,老款的都很贵的哦

不过还是老款的实惠,data flash很大,简直不计成本,4级中断优先,定时器多,只是现在横向对比再看,价格高的离谱了。

15L408是3元以内,IAP15W205S性价比最卓越,只要1.7元,我觉得现在51芯片就值这么多,像12C5410这种价格,别说和STM8相比,都超过了很多cortex-M0了

使用特权

评论回复
评分
参与人数 1威望 +6 收起 理由
McuPlayer + 6 言之有理
29
旭日东起| | 2013-12-31 16:12 | 只看该作者
STC还可以吧,一直有用,但没怎么做货,做货的小

使用特权

评论回复
30
yizhiyu|  楼主 | 2014-2-15 22:00 | 只看该作者
McuPlayer 发表于 2013-12-18 23:41
问题解决了就好,弯路也是经验,也可以分享给大家,帮其他人少走弯路

嗯嗯,谢谢! 好久没来21IC了:lol

使用特权

评论回复
31
创隆电子| | 2014-2-23 09:22 | 只看该作者
用STC5年了,还是全用在工业上,以前用AT的容易受干扰,用STC的没有出现过任何问题(直说单片机质量,不包括电源与程序)

使用特权

评论回复
32
yizhiyu|  楼主 | 2014-2-28 10:21 | 只看该作者
创隆电子 发表于 2014-2-23 09:22
用STC5年了,还是全用在工业上,以前用AT的容易受干扰,用STC的没有出现过任何问题(直说单片机质量,不包 ...

:),小弟惭愧!之后不能再浮躁了。

使用特权

评论回复
33
laoxu| | 2014-3-1 15:11 | 只看该作者
xinxi 发表于 2013-12-17 14:24
楼上的 刚才看了你2010年的帖子,判若两人啊 https://bbs.21ic.com/icview-213942-1-1.html ...

予和盾,左手和右手 互博~~~ :lol

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则