关于STC12C5A60S2的EEPROM的读写程序问题

2019-07-16 00:50发布

最近在做一个项目好烦恼啊……
到最后的一步了,就是把写入数据的一个unsigned long数据写入eeprom里面
然后开机的时候再读出来……
可是stc里面写入和读出eeprom的都是unsigned char的……于是一系列的整改……直到现在……投降了希望有高手拯救一下我感激不尽啊~~!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
82126244
1楼-- · 2019-07-16 05:56
还有就是他的EEPROM存储多个字节是这样写的么?
                                Byte_Program(0x00, arr[1]);       
                                                Byte_Program(0x01, arr[2]);       
                                                Byte_Program(0x02, arr[3]);       
                                                Byte_Program(0x03, arr[4]);       
                                                               
                                            IAP_Disable();
dongyumin
2楼-- · 2019-07-16 07:53
用这组ANSI C的函数可以方便些。long型数据占4个字节,建4个单元数组,用stdio.h定义的sprintf();s函数,把long数据打印到数组里,然后发送保存。就OK。没试过,我感觉应该可以。
℡、回_憶い
3楼-- · 2019-07-16 12:28
 精彩回答 2  元偷偷看……
horsewater
4楼-- · 2019-07-16 12:43
unsigned long int 是4个字节.  你说的unsigned char 是一个字节. 你把unsigned long 分到四个unsigned char 里就行了.   比如: unsigned long temp; unsigned char a[4], i;
  for(i=0;i<4;i++)
{

}
horsewater
5楼-- · 2019-07-16 18:01
unsigned long int 是4个字节.  你说的unsigned char 是一个字节. 你把unsigned long 分到四个unsigned char 里就行了.   比如: unsigned long temp; unsigned char a[4], i;
  for(i=0;i<4;i++)
{
  a[i]= temp;
  temp>>8;
}
82126244
6楼-- · 2019-07-16 18:31
{:12:}可以了~~~~我用的是联合~~~完美解决问题~~~如果遇上同样问题可以MMM我~~~太幸福了~~~感谢各位~~~

一周热门 更多>