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.

[参考译文] LP5569:LP5569

Guru**** 2524460 points


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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/760672/lp5569-lp5569

器件型号:LP5569

我们如何通过 I2C 将数据发送到 SRAM?

根据手册,

 编译工具(Lasm.exe)将生成十六进制文件

然后、将 hex 文件复制到数组表中

通过以下编码将数据上传到 SRAM。


void load_sam()

int i、j;
MAP_I2C_setSlaveAddress (EUSCI_B1_BASE、0x40);//器件全局设置
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x2F);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0x48);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x02);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0x54);//发送寄存器数据
MAP_I2C_setSlaveAddress (EUSCI_B1_BASE、0x32);//将十六进制加载到 U1中的 SRAM
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4b);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0x09);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4c);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0x78);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4d);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0xa8);//发送寄存器数据
for (j=0;j<16;j++)

MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4F);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_base、j);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x50);//发送寄存器地址
for (i=0;i<32;i++)
MAP_I2C_masterSendMultiByteNext (eUSCI_B1_base、table_32[i+j*32]);//发送寄存器数据

MAP_I2C_setSlaveAddress (EUSCI_B1_BASE、0x33);//将十六进制加载到 U2中的 SRAM
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4b);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0x09);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4c);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0x7B);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4d);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0xAA);//发送寄存器数据
for (j=0;j<16;j++)

MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4F);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_base、j);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x50);//发送寄存器地址
for (i=0;i<32;i++)
MAP_I2C_masterSendMultiByteNext (EUSCI_B1_BASE、Table_33[i+j*32]);//发送寄存器数据

MAP_I2C_setSlaveAddress (EUSCI_B1_BASE、0x34);//在 U3中将十六进制加载到 SRAM
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4b);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0x09);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4c);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0x7B);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4d);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_base、0xab);//发送寄存器数据
for (j=0;j<16;j++)

MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4F);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_base、j);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x50);//发送寄存器地址
for (i=0;i<32;i++)
MAP_I2C_masterSendMultiByteNext (EUSCI_B1_BASE、Table_34[i+j*32]);//发送寄存器数据

MAP_I2C_setSlaveAddress (EUSCI_B1_BASE、0x35);//在 U5中将十六进制加载到 SRAM
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4b);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0x09);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4c);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0x77);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4d);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0xa6);//发送寄存器数据
参考 www.ti.com

for (j=0;j<16;j++)

MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x4F);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_base、j);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x50);//发送寄存器地址
for (i=0;i<32;i++)
MAP_I2C_masterSendMultiByteNext (eUSCI_B1_base、table_35[i+j*32]);//发送寄存器数据;

MAP_I2C_setSlaveAddress (EUSCI_B1_BASE、0x32);//将 U1设置为 clk out
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x2F);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0x49);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x3D);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0x08);//发送寄存器数据
MAP_I2C_setSlaveAddress (EUSCI_B1_BASE、0x40);//运行所有引擎
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x02);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0x00);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x02);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0xa8);//发送寄存器数据
MAP_I2C_masterSendMultiByteStart (EUSCI_B1_BASE、0x01);//发送寄存器地址
MAP_I2C_masterSendMultiByteFinish (EUSCI_B1_BASE、0xa8);//发送寄存器数据

我们使用什么地址将数据模式传递到 SRAM?

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

    大家好、Srinivasan、

    您需要将数据发送到相应的器件。

    从用户手册中可以看到、全局地址使用40h、每个器件使用32H/33H/34H/35h 发送相应的数据。

    如果问题得到解决、请帮助单击"解决"。

     

    谢谢。

    此致、

    Kenneth