??? 08/11/06 08:55 Read: times |
#122030 - oooh, then it's impossible, of course Responding to: ???'s previous message |
If you want to use an ARBITRARY pin, you need to do some software, which will take some time. Fullstop.
The fastest you can achieve is if you put cpl p0.5 into an endless loop, which is 3 instruction cycles (CCLK/2/(1+2) in LPC9xx). Of course, expect that it will do _nothing_ else but toggle the pin, then. In case you want to run any "simultaneous" software, you need to resort to interrupts - that means a pseudo-call the CPL, a reti plus at least one instruction executed between interrupts (and no other interrupt running), that's CCLK/2/(2+1+2+2). Of course, the rest of your software will run DAMN' SLOW if you spend most of the time in the interrupt. And, expect a jitter on the output - the interrupts cannot interrupt an instruction in it's middle, so if you don't use any DIV or MUL and any other interrupt, the minimum jitter will be 1 instruction cycle (CCLK/2). All in all, the best thing you can do is to reroute the hardware so that you can use the pin dedicated to timer toggle function (and, happy you, this is a LPC9xx extension, you won't find it on the "classic" '51 derivatives). Jan Waclawek |