Other Parts Discussed in Thread: DRV8462
器件型号: DRV8462
我的基本代码:
unsigned char tx_buff[2]={};
unsigned char rx_buff[2]={};
// SPI 写入使 EN_OUT = 1
TX_BUFF[0]= 0x04;
tx_buff[1]= 0x8F;
drv8462_GPIO_WritePin (MTR1_CS_GPIO_Port、MTR1_CS_Pin、GPIO_PIN_RESET);
HAL_SPI_TransmitReceive (&hspi1、tx_buff、rx_buff、21000);
drv8462_GPIO_WritePin (MTR1_CS_GPIO_Port、MTR1_CS_Pin、GPIO_PIN_SET);
//读取 REG CTRL1
tx_buff[0]= 0x44;
// tx_buff[1]= 0x00;
drv8462_GPIO_WritePin (MTR1_CS_GPIO_Port、MTR1_CS_Pin、GPIO_PIN_RESET);
HAL_SPI_TransmitReceive (&hspi1、tx_buff、rx_buff、21000);
drv8462_GPIO_WritePin (MTR1_CS_GPIO_Port、MTR1_CS_Pin、GPIO_PIN_SET);
输出 I get:0xC0F;
这是我使用 SPI 在 drv8462 中编写 rereg 的代码。 我可以读取所有寄存器并获得默认值、但当我写入 CTRL1 并使 EN_OUT=1 时、仍会获得默认值且 EN_OUT=0;您能帮我解决吗?






