51单片机怎么向eeprom同一扇区写入多个数字

http://zhidao.baidu.com/link?url=UdYB7xO1TSTOwQlnq7VhxY1J55UMkWxrB10490Bsym8VCinCoLkS... http://zhidao.baidu.com/link?url=UdYB7xO1TSTOwQlnq7VhxY1J55UMkWxrB10490Bsym8VCinCoLkSwAQ5j_KeBQzZGLYxm9UE-16V7G83I-uFb_我在这个网址找的程序,但是改不出来,直接说地址+1的就免了,试了没用,在读写之间加延迟也没有用 展开
 我来答
lycdl
高粉答主

2013-12-09 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2万
采纳率:94%
帮助的人:4889万
展开全部
原程序的编程子函数是一次只写一个字节的,是这么调用的,
ISP_PROGRAM(0x0000, LED_Buffer);它调用时写数据的地址是固定的0x0000,如果你真的也是这么调用的,即调用时地址是固定的,那就肯定是只能写一个字节了。要写多个数据,在主程序调用时这么改:ISP_PROGRAM(ramadd, LED_Buffer);让那个地址ramadd是个变量,而且是写多少个数据就要调用多少次,每调用一次地址+1就可以了。
原程序中的读数据子函数也得改,原来是ISP_READ(0x0000);这地址也是固定,也不行的,也只能读了一个字节,改成:ISP_READ(ramadd);,与写地址一致才能读出正确的数据。
追问
这是我改的主函数,其他都没改,但P1,P2,P0都是2,
void Main()
{
ISP_ERASE(0x0000); ISP_PROGRAM(0x0000, 0x05);
ISP_PROGRAM(0x2001, 0x02);
P0 = ISP_READ(0x0000);
P1 = ISP_READ(0x2001);
P2 = ISP_READ(0x0005);
}由于字数原因,读写之间延迟已删除
ywhjp
2013-12-08 · TA获得超过1299个赞
知道小有建树答主
回答量:1002
采纳率:60%
帮助的人:433万
展开全部
不用地址+1 怎么写多个数?

字节当然是一个接着一个往下写的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式