Handy annotated overview of AVR devices at [[http://www.avrfreaks.net/index.php?module=Freaks%20Devices&func=viewDev|AVR Freaks]]. Local electronics store: [[http://www.okaphone.com/artikelen.asp?id=1042&groep=3|Okaphone]]. Error and fix in AVR Studio [[http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=35216|on AVR Freaks forums]]. Perhaps a little lame [[http://hubbard.engr.scu.edu/embedded/avr/avrlib/index.html|avrlib]] but it helps quite a bit :) ====== Ports ====== Help on using ports on [[http://winavr.scienceprog.com/avr-gcc-tutorial/accessing-avr-microcontroller-ports-with-winavr-gcc.html|WinAVR AVR tutorial]] Other (more interesting?) [[http://www.micahcarrick.com/v2/|page]] with tutorials. Tree memory locations for each port: * PORTx Data register (input 1: pullup, input 0: no pullup->tri-state, output 1: high, output 0: low) * DDRx Data direction register (1: output, 0: input) * PINx Port input pins ===== BIT manipulation in C ===== * ~ means invert int -> ~_bv(5) means 11101111 not 00010000 * &= means bitwise AND * |= means bitwise OR * ^= means bitwise XOR ====== Soft USB & Soft UART ====== * SPI as half-duplex uart is mentioned in application notes AVR304, AVR305, AVR307 * USB Without USB chip: [[http://www.schatenseite.de/usb-led-fader_en.html|USB LED control project]] * Soft uart without rx interrupt: [[http://gandalf.arubi.uni-kl.de/avr_projects/#softuart|Gandalf]] ====== UART ====== I currently use [[http://booksbybibin.14.forumer.com/viewtopic.php?t=119|this]]. Helps: ASCII [[http://www.neurophys.wisc.edu/comp/docs/ascii.html|table]]. ====== Attiny13 specific ====== * [[http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=42981&highlight=stk200+attiny13|Programming problem]] and fix for tiny13 * [[http://www.ai.uga.edu/mc/microcontrollers/avr/AVRnotebook.pdf|Notebook]] on using attiny13 ====== Reference ====== * [[http://hubbard.engr.scu.edu/embedded/avr/avrlib/docs/html/index.html|AVRlib manual]] * [[http://www.nongnu.org/avr-libc/user-manual/|avr-libc manual]] * [[http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf|Atmega8 datasheet]] * [[http://www.avrfreaks.net/index.php?module=Freaks%20Files&func=viewFile&id=1240&showinfo=1|Attiny13 datasheet]] * [[http://www.pek.nu/pekproj/proj/el/avrex/|Bunch of simple examples]] * Handy command for debugging: avr-objdump -d $filename.elf > $filename.asm ====== Interrupts ====== All soft uart implementations use interrupts in one way or the other (timer and/or external). To understand them I'd like to test some more. * [[http://www.windmeadow.com/node/19|Googled a Howto]] for external interrupts ====== Programmer ====== ===== Succes! ===== Next try, inspired by [[http://shop.tuxgraphics.org/electronic/microcontroller.html?id=2b93dd|tuxgraphics.org]]. Programmer [[http://www.tuxgraphics.org/electronics/200411/article352.shtml|description]] plus how to build, they use [[http://www.nongnu.org/uisp/|this]] software. *SUCCES* :-) ===== Failure :( ===== * [[http://www.rowalt.de/mc/avr/avrboard/01/progcirc.png|"WinAVR Programmer"]] seems simple enough. * [[http://elm-chan.org/works/avrx/stk200.png|STK200]] simplified and buffered from [[http://elm-chan.org/works/avrx/report_e.html|ELM]] I'm having problems with both of the above :( ====== AVR development on Windows ====== Helpful guide to installing eclipse with AVR support. * http://www.cs.hut.fi/Studies/T-106.530/2006/eclipse-avr.pdf ====== AVR development on Kubuntu: ====== yuy, Ubuntu has packages for all required parts :) * avrdude * avrdude-doc * binutils-avr * uisp * make * avr-libc * gcc-avr ====== Pinout ====== For quick reference\\ Atmega8\\ {{:pinout_atmega8.png?300|Pinout Atmega8}} Attiny13\\ {{:pinout_attiny13.png?300|Pinout Attiny13}}