打印

新手请教外部EEPROM问题

[复制链接]
3136|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bingren03|  楼主 | 2013-4-2 10:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在学习EEPROM时,遇到以下问题请教
环境:MCU-PIC16F887;外部EEPROM-25LC160A 显示:1602LED;
目的:887与外部eeprom通信,向25lc160a写入一个数字,然后再将其读出来显示在1602上;
问题:1,887是SPI模式是一次写一个8位数据;而25LC160中写入时序图中,是一个16位地址,变换成8位写入啊?
     2,我按照时序完成后,程序无法实现,请问下,这里有什么需要值得注意的地方吗?下面是我的主函数部分(读写的程序完全按照时序写的),帮忙看看有什么问题,非常感谢!
void main()
{       
        ADCON0=0x00;
        ANSEL=0x00;       
        uchar a1[]={"2"};
        spi_init();
        spi_writeenable();
        spi_write(1,a1);
        spi_read(1);
        lcd_init();       
        delay_ms(100);
        lcd_clr();lcd_write_str(1,0,a1);
        while(1);
}
沙发
NE5532| | 2013-4-4 14:18 | 只看该作者
第一个问题,SPI是同步总线,你分两次传输不就OK了吗。
第二个问题,楼主根本没看过数据手册,器件写保护、状态寄存器控制、地址传送、查忙,什么都不知道,建议重新把数据手册看3遍,直接看原版英文的,中文的没有看头。

使用特权

评论回复
板凳
兰天白云| | 2013-4-7 15:56 | 只看该作者
楼上的microchip的中文手册准确度还是比较高的,可以参考
还有写结束后要等几毫秒时间以让25LC16有时间保存数据,然后再启动读函数读数据

使用特权

评论回复
地板
yewuyi| | 2013-4-7 21:35 | 只看该作者
在使用外部EEPROM芯片时,最好在写入后延时一段时间,然后再把该字节中的数据读出来比较一下看看是否真实写入了,如果比较一致,则可以写下一个字节的数据。

使用特权

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

本版积分规则

1

主题

6

帖子

1

粉丝