From e2echina:
Motor does not spin. DRV10987 seems no output.
Here is the read/write soft code (e2 read/write correct):
DRV10987_Write_Byte(0x60 , 0x8000); // motor stop
DRV10987_Write_Byte(0x31 , 0x0000); // write 0x31 to 0x0000
DRV10987_Write_Byte(0x31 , 0xC0DE); // write 0xC0DE to 0x31
Delay_10ms();
Delay_10ms();
Delay_10ms();
Receive_Sum_Value = DRV10987_Read_Byte(0x32); //
if (Receive_Sum_Value==0x01)
{
DRV10987_Write_Byte(0x90 , 0xC001); //
DRV10987_Write_Byte(0x91 , 0x0049); //
DRV10987_Write_Byte(0x92 , 0x00C1); //
DRV10987_Write_Byte(0x93 , 0x37B8); //
DRV10987_Write_Byte(0x94 , 0x3BAF); //
DRV10987_Write_Byte(0x95 , 0x7840); //
DRV10987_Write_Byte(0x96 , 0x007A); // write shadow register
DRV10987_Write_Byte(0x35 , 0x0006); // sync shadow register to EEPROM
Delay_1s();
Receive_Sum_Value = DRV10987_Read_Byte(0x32); // wait for EEPROM write ends
if (Receive_Sum_Value==0x01)
{
DRV10987_Write_Byte(0x35 , 0x0002); // sync EEPROM to shadow register
Delay_10ms();
Delay_10ms();
Delay_10ms();
Receive_Sum_Value = DRV10987_Read_Byte(0x32); // wait for sync ends
if (Receive_Sum_Value==0x01)
{
Receive_Sum_Value = DRV10987_Read_Byte(0x90); // read byte
Receive_Sum_Value = DRV10987_Read_Byte(0x91); // read byte
Receive_Sum_Value = DRV10987_Read_Byte(0x92); // read byte
Receive_Sum_Value = DRV10987_Read_Byte(0x93); // read byte
Receive_Sum_Value = DRV10987_Read_Byte(0x94); // read byte
Receive_Sum_Value = DRV10987_Read_Byte(0x95); // read byte
Receive_Sum_Value = DRV10987_Read_Byte(0x96); // read byte
Delay_10ms();
Delay_10ms();
Delay_10ms();
DRV10987_Write_Byte(0x60 , 0x0000); // motor spin
}
}
}