This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC1310:用于CC1310的EEPROM

Guru**** 2538955 points
Other Parts Discussed in Thread: CC1310

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/582470/cc1310-eeprom-for-cc1310

部件号:CC1310

cc1310是否有内部EEPROM。 如果没有,如何获取cc1310的EEPROM。 我听说我们可以将I2C用于EEPROM,但如何使用它。 任何人都能详细地说出来。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    CC1310内没有EEPROM。 您必须连接外部设备。 如果使用I2C EEPROM,则必须使用TI RTOS中提供的I2C驱动程序来驱动它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谁能指导我如何使用I2C与CC1310连接EEPROM。以及如何写入EEPROM 24C02代码。
    请与我分享示例驱动程序代码链接...详细说明。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我建议您可以参考 dev.ti.com/.../中的i2ctmp007示例 ,该示例介绍了如何使用CC1310上的I2C接口来读取TMP007温度传感器。 您可以尝试修改此示例以读取/写入EEPROM 24C02。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如何使用I2C获得EEPROM与cc1310示例code...can u send me链接
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没有使用带有cc1310示例代码的I2C的EEPROM。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    什么是cc1310中的sycnword,以及如何为cc1310的每台设备寻址。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Dinesh:请查看23.7 1和TRM中的以下部分(www.ti.com/.../swcu117g.pdf )
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的支持。 我已经看到了该文档,但我想知道synword的具体功能,它的行为以及meaning...in的一般详细信息。
    谢谢你
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以看到

    dev.ti.com/.../packet-format.html

    了解一些信息。 如链接中所述,SYNC词语用于:
    —查找传输的起点
    -字节和位同步

    如果不需要向后兼容,请使用默认同步字并使用地址过滤,以避免所有节点在不需要时接收相同的数据包。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能告诉我如何为cc1310提供设备地址吗
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    EEPROM中的代码存在问题。在调试模式下,它在" IF (I2C_TRANSFER (i2cHandle,&i2cTransaction)"中显示问题,而不是进入i2c_transfer。 我正在共享上面的代码。请给我一个解决方案来修复它。 我修改了i2ctmp007示例代码,并编写了EEPROM bt正在删除临时代码。

    /*
    *========= eeprom.c =========
    */
    #include <stdint.h>
    #include <stddef.h>
    #include <unistd.h>

    /*驱动程序头文件*/
    #include <ti/drivers/GPIC.h>
    #include <ti/drivers/I2C.h>
    #include <ti/display/Display.h>

    /*示例/板头文件*/
    包含"Board.h"
    #include "System.h"


    /*从属地址*/
    //i2cTransaction.slaveAddress = 0xA0 >1;
    //i2cTransaction.slaveAddress = 0xA1 >>1;
    //i2cTransaction.slaveAddress = 0x50;


    /*
    *========= mainThread =========
    */
    void *mainThread(void *arg0)

    UINT8_t txBuffer[4];
    UINT8_rxBuffer[4];
    I2C_HANDLE i2cHandle;
    I2C_Params i2cParams;
    I2C_Transaction i2cTransaction;

    /*调用驱动程序初始化函数*/
    GPIO初始化();
    I2C_INIT();

    /*打开用户LED */
    GPIO写入(Board_GPIO _LED0,Board_GPIO _LED_ON);

    /*创建I2C以供使用*/
    I2C_Params_init (&i2cParams);
    i2cParams.bitrate = I2C_100kHz;
    i2cHandle = I2C_OPEN (Board_I2C0,&i2cParams);
    IF (i2cHandle)

    /*缓冲寄存器*/
    txBuffer[0]= 0x01;
    txBuffer[1]= 0x01;
    txBuffer[2]= 0x42;

    //写入缓冲区
    i2cTransaction.writeBuf = txBuffer;
    i2cTransaction.writeCount = 3;

    //读取缓冲区
    i2cTransaction.readBuf = rxBuffer;
    i2cTransaction.ReadCount = 0;

    //从属地址
    i2cTransaction.slaveAddress =(0x50);

    /*现在我在内存地址0x1 | 0x1 << 8 */上写入0x42
    IF (I2C_TRANSFER (i2cHandle,&i2cTransaction))

    system_printf ("成功");
    i2cTransaction.writeBuf = txBuffer;
    i2cTransaction.writeCount = 2;

    i2cTransaction.readBuf = rxBuffer;
    i2cTransaction.ReadCount = 1;

    //从属地址
    i2cTransaction.slaveAddress =(0x50);

    /*现在我读取内存地址0x1 | 0x1 << 8 */
    IF (I2C_TRANSFER (i2cHandle,&i2cTransaction))

    //成功
    }
    否则

    system_printf ("读取错误");
    }
    }
    否则

    system_printf ("写入错误");
    }
    }

    /*已取消初始化I2C */
    I2C_CLOSE (i2cHandle);

    //关闭EEPROM
    返回(NULL);
    }