|
As I've mentioned ad nauseam on these pages I spent years working
with embedded systems, but that was a long time ago and I've forgotten
a lot of things that used to be almost instinctive, not to mention
that the chips and development tools are different these days.
So I'm both learning and re learning a lot, and in the process
I'm stuffing up more than I used to.
When this happens, or even if just I think something would be interesting
to a beginning embedded engineer/hobbyist, I'll document it here
in an effort to help prevent you having the same hassle.
NOTE: In nearly all cases I discover
then debug a problem using my logic analyser, I don't know how
you would do this type of work without one and at US$149 for the
Saleae Logic there's
just no reason not to get one...is there?
Also I haven't has much luck finding very simple code snippets
to get say a timer working, so I'll post that sort of thing here
as well.
Interrupt overhead
Check out how much time is spent just getting into and out of an
ISR.
Optimisation
See how using the compiler's optimiser can improve an ISR call.
Serial bit banging (Tx)
Using a normal port IO pin to send async serial data for chips with
no UART.
Pulse generator
A simple pulse generator uses two components including
the processor.
EEPROM read write
An example of a polled EEPROM reading an writing routine, actually
most of the work is done by functions in the supplied eeprom.h file.
Debug routine to put a value out an IO pin
How do you see what that value is when you don't have any normal
IO?
Clock /8 fuse
Why isn't my processor running as fast as it should?
Using IJMP and ICALL
Implementing indirect calls for a jump table.
|