【问题标题】:Interfacing pic18f4550 with i2c EEPROM (24AA1025)将 pic18f4550 与 i2c EEPROM (24AA1025) 连接
【发布时间】:2011-12-21 16:30:34
【问题描述】:

我正在做一个大学项目,我需要将 pic18f4550 与 i2c EEPROM 接口。

我阅读了很多代码并看到了很多关于这个主题的项目。我从 MPLAB C18 编写了一个示例代码(我也尝试了许多代码),但没有人与我合作。

我不知道问题出在哪里。我的代码和电路一切正常,但 sck 没有生成用于写入的 clk,也没有向 eeprom 写入任何内容。所以如果有人可以帮助我,请。

注意:由于我是新用户,我无法发布我的电路图片! 代码如下:

    #include "p18f4550.h"
    #include "i2c.h"
    #pragma config FOSC = HS
    #pragma config PWRT = OFF
    #pragma config BOR = OFF
    #pragma config MCLRE = ON
    #pragma config PBADEN = OFF
    #pragma config ICPRT = OFF
    #pragma config LVP = OFF
    #pragma config WDT = OFF,DEBUG=OFF

    unsigned char arraywr[] = {1,2,3,4,5,6,7,8,0};
    unsigned char arrayrd[20];
    //***************************************************
    void main(void)
    {
    OpenI2C(MASTER, SLEW_ON);// Initialize I2C module
    SSPADD = 10; //400kHz Baud clock(10) @20MHz
    while(1)
    {
     EEByteWrite(0xA0, 0x30, 0xA5);
     EEAckPolling(0xA0);
     EECurrentAddRead(0xA0);
     EEPageWrite(0xA0, 0x70, arraywr);
     EEAckPolling(0xA0);
     EESequentialRead(0xA0, 0x70, arrayrd, 20);
     EERandomRead(0xA0,0x30);
   }
  }

提前致谢

【问题讨论】:

    标签: interface pic i2c eeprom


    【解决方案1】:

    您似乎没有为数字输入和输出设置端口引脚。检查数据表中哪些引脚用于 I2C 并设置适当的 TRIS 位。您还应该检查是否禁用了相同引脚的模拟功能(ANSEL 寄存器)。单独启用 I2C 模块是不够的。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多