I currently do this even when operating at 8Mhz. My GLCD write routine currently takes 150ms to refresh the entire display. The 256 point FFT only takes 6ms. I fixed the ADC sampling routine which was taking apx 160ms for 256 samples! Somehow I was sampling it really slowly and the aliasing above the nyquist frequency fooled me. Scoping the sampling time revealed this error, whereas the SIM wouldn't show it properly. This sped things up measurably. I also improved the square root routine by returning some arguments (0 & 1) as the answers.Oh and also one thing in your GLCD code wait a little after toggling the E pin, sometimes the pulse is too short(too slow display,wire inductance/capacitance etc) because pouting a pin high then imidietly low in the next line will create a very short pulse because of the fast CPU speed.
Yes, I think that is where I'll focus my efforts on improving fps.Also use the busy flag its supposed to speed things up a considerable amount.
When I feel more ambitious, I'll look at using the DMA with the ADC for sampling. Especially if I want to try the max rate for the ADC.If you are doing calculations betwen writes to the display it should be a big performance boost, since the PIC is never waiting for the display.This is already multitasking but without interrupts.
Haven't tried it yet, but I don't see why not, since those frequencies are all internal to the PIC. Toggling pins at the max rate might become an issue on a breadboard with long wires running here and there.bananasiong said:Does you PIC work at maximum speed (40 MIPS) on the breadboard?