Discussion Forum

Switch/Case in I2C interrupt

Next Thread | Thread List | Previous Thread Start a Thread | Settings

DetailsMessage
Read-Only
Author
Minfo Pan
Posted
4-Aug-2004 17:08 GMT
Toolset
C51
New! Switch/Case in I2C interrupt
Hi,

I am using C8051F005 as I2C slave.
In the I2C interrupt, there is switch/case statement to load SMB0DAT with data to be output based on the OP_CODE. There are 15 cases.
The master will get wrong data (or say will get 255) if 15 cases are included in the salve side.
The master will work fine if 14 cases are included.

I am wondering if one more case causes the timing problem -- so slow to response.

So I selected ROM (COMPACT) which was mentioned in the knewledgebase, AJMP instructions is used.
http://www.keil.com/support/docs/1316.htm

But the data is still transfered wrong with 15 cases.

Any suggestions?
Thank you!

Next Thread | Thread List | Previous Thread Start a Thread | Settings