您好!
我们正在使用 drv8311p ,在尝试读取 tSPI 后,使用数据帧格式的寄存器,我们无法获得 dafault 值。
使用 STM32和 HAL 库
uint16_t drv8311p_SPIRead (SPI_HandleTypeDef * hspi、uint8_t addr){
// SPI 帧格式
//奇偶校验位为15和16,由于禁用了默认奇偶校验错误,因此忽略
uint16_t DATA = 0;
数据= 0x8000;
uint32_t control = 1<<RW |(0 & MASK4BIT)<< ID | addr << ADDR |(0 & MASK2BIT)<< Reserved | data;
uint32_t rxBuff =0xbeef;
uint8_t * p =(uint8_t *)&control;
HAL_GPIO_Writepin (SPI2_CS_GPIO_Port、SPI2_CS_Pin、GPIO_PIN_RESET);
HAL_SPI_TransmitReceive (hspi、(uint8_t *)&CONTROL、(uint8_t *)&rxBuff、41000);
HAL_GPIO_Writepin (SPI2_CS_GPIO_Port、SPI2_CS_Pin、GPIO_PIN_SET);
//devStatus =(rxBuff>>16)& MASK8BIT ;//更新设备状态
返回(rxBuff 和 MASK16BIT);
}
