anyone tried to use the aduc843 hardware slave i2c interface ? it seems to me that the aduc is extremely sensitive to other interrupts. if other interrupts are running it often cant receive data.
What are you doing in your other interrupt handlers? Generally, you should try to do the absolute minimum in an ISR (Interrupt Service Routine). Can you boost the I2C interrupt to high priority?
i have to use all the interrupts, with some code, in other 8051 types I dont see that problem... I have set the i2c interrupt to high priority, it helps but gives some unstability in the timers.
1)i have to use all the interrupts, with some code, in other 8051 types I dont see that problem... 2) I have set the i2c interrupt to high priority, it helps but gives some unstability in the timers. 1) what is 'some'? 10 lines or 500 lines? 2) you are definitely suffereing from ISR code bloat. Does your IIC interrupt do more than transfer a byte to/from a buffer?. Does your timer interrupt do much more than set a few flags?. Does your UART interrupt do more than transfer a byte to/from a buffer? do you have any disable interrupt in your ISRs? do you have any for loops in your ISRs, do you have any whiles in your ISRs? ha' en god dag Erik