See image. Camera shot of my oscilloscope.
I'm having this weird problem with my project. I'm using a dsPIC33FJ128GP802 DSC/MCU. In this application, I'm sync-separating a CVBS signal using a LM1881 and feeding it into the MCU (channel 1.) The MCU is set up to interrupt on pin change. This part works correctly, and it drives an on screen display which I have written perfectly.
But, the weird part is that on each interrupt I'm briefly pulsing the pin RB12 to debug something. This is causing the weird decaying waveform on channel 4!! I'm expecting only a brief pulse, but it takes almost 64 microseconds (the line time) to decay to zero, almost like there is a very large capacitor on the pin (but there isn't.) Also, you can see the same effect on the falling edge, as the interrupt also triggers on that. What could be causing this? It has me completely lost!
I am using this code in my ISR:
TRISBbits.TRISB12 = 0; asm("nop"); PORTBbits.RB12 = 1; asm("nop"); TRISBbits.TRISB12 = 1; asm("nop");
The nops are to ensure read-modify-write problems don't occur, but it happens with or without those nops.