I have a strange issue in my ADuC7126 firmware that cause a intermittent glitch on an I2C dac. I'm using RTX provided by Keil but don't think it has anything to do with an RTOS. In my code, I have one task sampling ADC0 to ADC7 and wraps around once it reaches the end. In another task, I'm interfacing with an I2C temp sensor and a 4 channel DAC in a round-robin fashion.
Once in a while, the DAC output would go to 0 briefly for no reason. When I setup the oscope and captured the both I2C line and trigger when the DAC output goes to 0, the data that went to the DAC isn't what I sent. The DAC basically shut down because it couldn't understand what was sent to it. However, when I disabled the ADC task, the I2C DAC problem goes away.
Can anyone shed some light as to why disabling ADC would cause the problem go away?