OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5401|回复: 3

C51单片机写24C16,写一页数据乱码

[复制链接]

2

主题

15

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2012-11-8
在线时间
0 小时
发表于 2013-6-8 10:15:27 | 显示全部楼层 |阅读模式
在一块测试板上做实验,用的是从网上找的代码,有的是从STC公司上下载的,但是,在操作24C16的时候出错了,如果是一个字节,一个字节的写,不会出错,但是,如果是写一串的数据,就会出现各种问题,下面是部分代码
    int xdata tempnum=100;
    char i;
    char xdata tempdata[10];
    for(i=0;i<=10;i++)
    {
        tempnum=tempnum+1;
        write_24c02(tempnum,'0');
        Delay_ms(10);
    }

void write_24c02(unsigned char addr,unsigned char dete) reentrant
{
    start();
    write_int_rs(0xa0);
    get_ack_rs();
    write_int_rs(addr);
    get_ack_rs();
    write_int_rs(dete);
    get_ack_rs();
    stop();
    delay_iir(55);
    delay_iir(55);
}

下面是写入一页数据
char xdata tempdata[10];
strcpy(tempdata,"");
AT24C04_WritePage(tempdata,0,10);

void AT24C04_WritePage(unsigned char getdata[],int getaddr,unsigned char getlen) reentrant
{
    BYTE i;

    AT24C04_Start();            //起始信号
    AT24C04_SendByte(0xa0);     //发送设备地址+写信号
    AT24C04_SendByte(getaddr);     //发送存储单元地址
    for (i=0; i<getlen; i++)
    {
        AT24C04_SendByte(getdata);
    }
    AT24C04_Stop();             //停止信号
}

void AT24C04_SendByte(BYTE dat)
{
    BYTE i;

    for (i=0; i<8; i++)         //8位计数器
    {
        dat <<= 1;              //移出数据的最高位
        SDA = CY;               //送数据口
        SCL = 1;                //拉高时钟线
        Delay5us();             //延时
        SCL = 0;                //拉低时钟线
        Delay5us();             //延时
    }
    AT24C04_RecvACK();
}
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2013-6-8 10:30:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

2

主题

15

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2012-11-8
在线时间
0 小时
 楼主| 发表于 2013-6-8 11:16:25 | 显示全部楼层
回复【2楼】xouou_53320:
---------------------------------
谢谢,我测试下
回复 支持 反对

使用道具 举报

47

主题

255

帖子

1

精华

高级会员

Rank: 4

积分
641
金钱
641
注册时间
2012-11-3
在线时间
6 小时
发表于 2013-6-8 17:17:39 | 显示全部楼层
回复【楼主位】测试AT:
---------------------------------
页写入得有发送应答信号
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 11:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表