C51单片机数组存到内部flash
我用8051F040单片机的过程中发现RAM不够用,想把一部分数据存在FLASH中,不知是否可行?若可行的话,如何将数组存在FLASH中?请高手们不吝赐教!...
我用8051F040单片机的过程中发现RAM不够用,想把一部分数据存在FLASH中,不知是否可行?若可行的话,如何将数组存在FLASH中?请高手们不吝赐教!
展开
1个回答
展开全部
数组是可以存在FLASH中的,但是这样并不可行,8051单片机主要是片内没有EEPROM,一般在FLASH中存储一些掉点不丢的东西,如果存数组的话,首先得写一个读写FLASH的函数专门去存放它,这样本身就比较小的RAM,更加不够用了。
不过8051单片机,一般都有个DATA区和一个XDATA区,我估计你是把所有的变量全部定义在DATA区了,才导致DATA区溢出的问题,你可以试着这样定义你的数组:
xdata unsigend char ARRAY[128];
试试这样可行不,或者你已经这样试过了的话,那就换芯片吧。
不过8051单片机,一般都有个DATA区和一个XDATA区,我估计你是把所有的变量全部定义在DATA区了,才导致DATA区溢出的问题,你可以试着这样定义你的数组:
xdata unsigend char ARRAY[128];
试试这样可行不,或者你已经这样试过了的话,那就换芯片吧。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询