|
"Nimm nie einen Menschen, wenn du auch eine Maschine nehmen kannst." Agent Smith aus dem Film "Matrix" |
| lokal: | Homepage: |
|---|---|
|
avr-binutils-2.14-1.i386.rpm avr-gcc-3.3.1-1.i386.rpm avr-libc-1.0-1.i386.rpm |
http://www.nongnu.org/avr-libc/ |
|
uisp-20030618-1.i386.rpm | http://savannah.nongnu.org/projects/uisp/ |


avr-gcc -g -mmcu=atmega64 -c blinkled.c && avr-gcc -g -mmcu=atmega64 -o blinkled.elf blinkled.o && avr-objcopy -j .text -j .data -O ihex blinkled.elf blinkled.hexuisp -dlpt=/dev/parport0 --erase -dprog=stk200uisp -dlpt=/dev/parport0 --upload if=blinkled.hex -dprog=stk200 -v=3 --hash=32uisp -dlpt=/dev/parport0 --wr_fuse_e=0xff --wr_fuse_l=0xef --wr_fuse_h=0xd9 --upload if=blinkled.hex -dprog=stk200 -v=3 --hash=32| Kabel | µC |
|---|---|
| Pin 1 - Vcc | Vcc |
| Pin 2 - SCK | Pin 11 - PB1 (SCK) |
| Pin 3 - Reset | Pin 20 - Reset |
| Pin 4 - MOSI | Pin 2 - PE0 (RXD/PDI) |
| Pin 5 - MISO | Pin 3 - PE1 (TXD/PD0) |
| Pin 6 - GND | GND |
/* Testprogramm, welches die LED an Port A Pin 0 im Halbsekundentakt blinken laesst. */
#include <avr/io.h>
#ifndef F_CPU
#define F_CPU 8000000UL /* Quarz mit 8 Mhz */
#endif
#include <util/delay.h>
int main( void )
{
DDRA = ( 1 << PA0 ); // PortA Pin 0 als Ausgang setzen
while( 1 ){ // Endlosschleife
PORTA &= ~(1 << PA0); // PortA Pin 0 ausschalten
_delay_ms(500); // Eine halbe Sekunde warten
PORTA |= (1<< PA0); // PortA Pin 0 einschalten
_delay_ms(500); // Eine halbe Sekunde warten
} // Ende while-Schleife
return 0;
}
|
ISR(TIMER0_OVF_vect) { } //Timer/Counter0 Overflow
| Anschlussplan: | ![]() |
Wahrheitstabelle: | ![]() |
Der graue Bereich stellt den Steuerbereich dar.