79801426

Date: 2025-10-27 03:17:35
Score: 0.5
Natty:
Report link

The master is trying to communicate with slave every 375us. This means the slave should prepare all of its data and make it ready for master. Unfortunately, there is a lot of work going on the slave micro-controller, so it is struggling to prepare the data. Given this, I just extended the interval from 375us to 750us and now I couldn't see any frame losses on MISO line. Here is the code:

/* trigger a SPI transfer each 375us - 6x 62.5us */

if( 12 <= lu8_spiTrigger++ ) 
{ 
    spi_TriggerTransfer(HAL_SPI_TX_BUF_SIZE);
    lu8_spiTrigger = 0;
}

Also, I didn’t check for SPI overrun errors. Adding that check might indeed save a lot of debugging time!

Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Aravinth