TLE 7230R的调试

该芯片手册读起来比较费劲。

涉及到spi通信。关于spi通信,我们需要关注cpol和cpha。

其中,对于该芯片,需要配置主控芯片master的参数为:

cpol = 0; cpha = 1;

值得注意的是,对该芯片进行读操作时,第一次读不出有效数据。需要第二次才能读出来有效数据。

下面是简单对寄存器进行读写操作的demo代码片段:

#define LS_Diagnosis_Only (0u << 14)
#define LS_Read_register (((1u)&0xFFFF) << 14)
#define LS_Reset_Registers (2u << 14)
#define LS_Write_register (3u << 14)

#define DATA ((0x77)&0xFFFF) /*dont care*/

#define LS_MAP_ADDR (1u<<8)
#define LS_BOL_ADDR (2u<<8)
#define LS_OVL_ADDR (3u<<8)
#define LS_OVT_ADDR (4u<<8)
#define LS_SLE_ADDR (5u<<8)
#define LS_STA_ADDR (6u<<8)
#define LS_CTL_ADDR (7u<<8)

DebounceDelay();
DSPI_Send(2, 0b00000001, LS_Read_register|LS_CTL_ADDR|DATA);//
data_read_back_cs0 = DSPI_Read(2);/*should always return 0xffff*/
DSPI_Send(2, 0b00000001, LS_Read_register|LS_CTL_ADDR|DATA);//
data_read_back_cs0 = DSPI_Read(2);/*always return 0x47??*/

DSPI_Send(2, 0b00000001, LS_Write_register|LS_CTL_ADDR|0b11111111);/* */
dummy_pan = DSPI_Read(2);

原文地址:https://www.cnblogs.com/praiseslow/p/9118648.html