Hi, Thanks Martin, Leigh,
As you both stated the method used signiicantly effects the duration of very short pulses.
A) toggling single bit of Port C, using the FC output command and delay using a single NOP(); in a C code box. Result a Pulse of : 998nS
B) toggling a bit using "LATC6" and Delay from a Single NOP(); all in a C code box. Result a pulse of : 399nS
C) toggling a single bit of Port C, using the FC output commands and FC delay of 10uS. Result a Pulse of : 16uS
This is the simple test FC, I disable different sections to acheive each test above.
This test was started as I was having issues with Software/Timer driven UART comms. The Bits from the Software UART would be longer than required for a given Baud.
I am now wondering if a PIC at 20Mhz (5Mhz Fcy), allowing for instruction overhead, is actually capable of driving a software UART above 9600 Baud. I thought 19200 Baud would be quite achieveable but all testing results in Bit pulses that are too long.
1/9600 = 104 uS per Bit
1/19200 = 52 uS per bit.
Using simple commands, I tried to create a simple 52 uS pulse but I cannot get this PIC, using delays, timers or interrupts to create a 52 uS pulse. So I guess what hope has the FC commands got of achiving this. am I just asking to much of a moderatly slow PIC ?

J.