Rev 241 | Rev 248 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 241 | Rev 242 | ||
---|---|---|---|
Line 386... | Line 386... | ||
386 | else if (( I2C_RxBufferSize > 0 ) && (I2C_RxBufferSize < I2C_RXBUFFER_LEN) ) I2C_Direction = I2C_MODE_RECEIVER; |
386 | else if (( I2C_RxBufferSize > 0 ) && (I2C_RxBufferSize < I2C_RXBUFFER_LEN) ) I2C_Direction = I2C_MODE_RECEIVER; |
387 | else // nothing to send or receive |
387 | else // nothing to send or receive |
388 | { |
388 | { |
389 | I2C_TxBufferSize = 0; |
389 | I2C_TxBufferSize = 0; |
390 | I2C_RxBufferSize = 0; |
390 | I2C_RxBufferSize = 0; |
391 | // enable I2C IRQ again |
- | |
392 | VIC_ITCmd(I2C1_ITLine, ENABLE); |
- | |
393 | return(retval); |
391 | return(retval); |
394 | } |
392 | } |
395 | // update slave address and rx data handler funbction pointer |
393 | // update slave address and rx data handler funbction pointer |
396 | I2C_SlaveAddress = SlaveAddr; |
394 | I2C_SlaveAddress = SlaveAddr; |
397 | I2C_pRxHandler = pRxHandler; |
395 | I2C_pRxHandler = pRxHandler; |
398 | // test on busy flag and clear it |
396 | // test on busy flag and clear it |
399 | I2C_CheckEvent( I2C1, I2C_FLAG_BUSY ); |
397 | I2C_CheckEvent( I2C1, I2C_FLAG_BUSY ); |
- | 398 | // enable I2C IRQ |
|
- | 399 | VIC_ITCmd(I2C1_ITLine, ENABLE); |
|
400 | // initiate start condition on the bus |
400 | // initiate start condition on the bus |
401 | I2C_GenerateStart(I2C1, ENABLE); |
401 | I2C_GenerateStart(I2C1, ENABLE); |
402 | retval = 1; |
402 | retval = 1; |
403 | } |
403 | } |
404 | return(retval); |
404 | return(retval); |