I have my LPC2106 clocked with a 14.7456MHz oscillator. I am multiplying that by 4 and my pclk is divided by 1 using the on board PLL. I have tested that I am running at 58.9824MHz with a timer. I did a rough calculation to delay 1 second and it appears to work correctly. Also my baud rate calculations work out correctly, so I am assuming that my cclk is set properly.
This is my situation:
label:
str r8, [r7]
str r8, [r6]
b label
r8 holds the bit to turn on and off, r6 holds IOCLR, r7 holds IOSET. All this is doing is doing is turning a bit on and then off over and over.
My problem is that it appears to take well over 100ns between the time the bit turns on and the time the bit turns off. I am using a logic analyzer sampling at 100MHz to view the bit timing.
Also, I am running this code from RAM so the memory acceleration isnt an issue.
Does this sound right? Are there wait states added when using I/O? It just takes way too long to switch the bit when I should be executing instructions at about 17ns each. Does anyone have any thoughts on this?
Thanks for help and dont hold back if this is a stupid question.
Vern