Hello,
When programming the TMS37157, I was able to successfully use the Wake_PaLFI function mentioned in this datasheet. Here is the logic analyzer output during that function call.
After this function call, we immediately call the SPI_Power_Down function. During this call, the BUSY pin stays at low the entire time, even though there are clock pulses. This causes the code to get stuck in the second while loop during the SPI_Tx function call. The logic analyzer output during this function call is below, as well as the code where it gets stuck.
do { SPI.transfer(*TxBuffer++); while(digitalRead(CU_BUSY)); if ((ucTX_ONLY && Size) == 0x01); else while(!digitalRead(CU_BUSY)); // STUCK HERE } while(--Size);
Thanks for your help,
Matt King