TI中文支持网
TI专业的中文技术问题搜集分享网站

LDC1000的SPI读取时 读取Device ID时 读出的数据有时候是0x80 有时候是0xff

LDC1000读取数据时 spi模式需要改变吗(LDC1000数据手册中 写入上升沿 读取下降沿)

有些例程中

1.先写入(0x80+寄存器地址)

2.读取

3.接着写入(0xff)

4.最后读取数据

写入0xff是为了什么

灰小子:

建议楼主提供下例程或者例程的名称

yunmang xiao:

回复 灰小子:

已结解决了你知道LDC1314的寄存器配置我 我读取的数据一直是0X00FFiic协议是对的 器件的id也读对了

default_addr = 0X2A;//0X2A

smbus_writeWord(default_addr,LDC13xx16xx_CMD_RESET_DEVICE,0x8000);

retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_REF_COUNT_CH0,0xFFFF); //0x08 4 clock periods retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_REF_COUNT_CH1,0xFFFF); //Time (tC0) =(CH0_RCOUNT*16)/fREF0 retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_REF_COUNT_CH2,0xFFFF); retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_REF_COUNT_CH3,0xFFFF); retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_OFFSET_CH0,0x0000); //0x0c fOFFSET_0 =(CH0_OFFSET/216)*fREF0 retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_OFFSET_CH1,0x0000); retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_OFFSET_CH2,0x0000); retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_OFFSET_CH3,0x0000); retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_SETTLE_COUNT_CH0,0x0400); //0x10 1 clock period retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_SETTLE_COUNT_CH1,0x0400); //(tS0)= (CH0_SETTLECOUNT?16) ÷ fREF0 retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_SETTLE_COUNT_CH2,0x0400); retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_SETTLE_COUNT_CH3,0x0400); retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_CLOCK_DIVIDERS_CH0,0x0000); // bypass dividers retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_CLOCK_DIVIDERS_CH1,0x0000); retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_CLOCK_DIVIDERS_CH2,0x0000); retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_CLOCK_DIVIDERS_CH3,0x0000); retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_STATUS,0x0001); // report only DRDYs to INT retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_CONFIG,0x0200); //0x1a CLKIN pin retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_MUX_CONFIG,0xC20F); // ch0, ch1,ch2,ch3-> Wipro for 4 ch //retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_MUX_CONFIG,0x820F); // ch0, ch1 retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_SYSTEM_CLOCK_CONFIG,0x0200); // default, divide by 2 retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_DRIVE_CURRENT_CH0,0x0000); // retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_DRIVE_CURRENT_CH1,0x0000); // retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_DRIVE_CURRENT_CH2,0x0000); // retVal &= smbus_writeWord(default_addr,LDC13xx16xx_CMD_DRIVE_CURRENT_CH3,0x0000); //

 

Junjian Ji:

回复 yunmang xiao:

您好,问一下您当时解决时发现根本原因是什么?我这边遇到同样问题, 很着急

赞(0)
未经允许不得转载:TI中文支持网 » LDC1000的SPI读取时 读取Device ID时 读出的数据有时候是0x80 有时候是0xff
分享到: 更多 (0)