wake_100 said:
looking at the diagram its not saying that the voltage for the heater is high, its saying the sensor is reading higher than it should right?
If the ECM had detected a problem with the heater circuit, you would have obtained a P0037, P0038 or a P0141 code. You can look at the following PDF file for information on troubleshooting one of these codes.
Link
Your code, P0038, indicates that the voltage seen between pins 64 & 87, on the B30 connector of the ECM, is higher than it should be. Pins 64 & 87 at the ECM are connected to Pins 3 & 4 (respectively) on the O2 sensor.
I don't know if you have a Scangauge, or if you were just asking out of curiousity, but if you do, use it to see if the O2 readings are changing, or if they are locked at a fixed value.
If you see the voltages are fixed, then unplug the O2 sensor and see if they drop to zero. If they drop to zero, then the high voltage is coming from the sensor. If the voltage doesn't drop, then it is coming from a short circuit within the harness, or it is a defective ECM.
If you don't have a Scanguage, then unplug the sensor and you should get a P0137 code ( a low voltage error). If you don't get the P0137 then you still have wiring problems.
Be aware that when you unplug the O2 sensor you will also get a P0037 ( and possibly a P01410) because the heater circuit will also look failed.