SLAA249B April 2005 – September 2018 MSP430F169 , MSP430F169 , MSP430F5252 , MSP430F5252 , MSP430F5253 , MSP430F5253 , MSP430F5254 , MSP430F5254 , MSP430F5255 , MSP430F5255 , MSP430F5256 , MSP430F5256 , MSP430F5257 , MSP430F5257 , MSP430F5258 , MSP430F5258 , MSP430F5259 , MSP430F5259
The master transmits one byte and receives two bytes from the slave. The master detects a timeout due to the slave holding the clock line low for a period greater than "timeout", which is defined in the SMBUS specification. TimerA0 (clocked by SMCLK/DCO at 1.1 MHz) is used to detect this timeout period (as defined by CCR0 in the code), and the master issues a stop condition when the timeout is detected. An LED is toggled upon a timeout condition.
The corresponding slave code source file is msp430x26x_SMB_SLV_timeout.c.
This code simulates the READ WORD protocol of the SMBus specification.