ComCat
16.05.2005, 17:34
Hallo,
ich versteh die Welt nimmer. Ich habe mir zum Einstieg das im Titel besagte SiSy AVR-Board in der Version 1.4c gekauft. Das Zusammenlöten lief problemlos. Zum Test spielte ich das Testprogramm welches AVR zur Verfügung stellt drauf und auch das funktionierte ( Taster, LEDs, Beeper, Ausgabe an der seriellen Schnittstelle).
Jetzt wollte ich einfach ein Assemblerprogramm draufspielen, welches einfach beim Bedienen eines Tasters eine LED anmacht. Im Prinzip ist es nichts anderes als in vielen AVR-Tutorials am Anfang erklärt wird. Nur, wenn ich diesen Code auf den Controller spiele, funktioniert gar nichts richtig :
.include "m8def.inc"
begin: rjmp main ; 1 POWER ON RESET
reti ; 2 Int0-Interrupt
reti ; 3 Int1-Interrupt
reti ; 4 TC2 Compare Match
reti ; 5 TC2 Overflow
reti ; 6 TC1 Capture
reti ; 7 TC1 Compare Match A
reti ; 8 TC1 Compare Match B
reti ; 9 TC1 Overflow
reti ; 10 TC0 Overflow
reti ; 11 SPI, STC Serial Transfer Complete
reti ; 12 UART Rx Complete
reti ; 13 UART Data Register Empty
reti ; 14 UART Tx complete
reti ; 15 ADC Conversion Complete
reti ; 16 EEPROM Ready
reti ; 17 Analog Comparator
reti ; 18 TWI (I²C) Serial Interface
reti ; 19 Store Program Memory Redy
;------------------------------------------------------------------
main :
LDI r16,LOW(RAMEND)
OUT SPL,r16 ;Init Stackpointer
LDI r16,HIGH(RAMEND)
OUT SPH,r16
LDI r16,0b11111111
OUT DDRB,r16
LDI r16,0b00000000
OUT DDRD,r16
mainloop:
WDR
IN r16,PIND
OUT PORTB,r16
RJMP mainloop
Ist das Programm drauf und das Board verkabelt, leuchten die LEDs bereits und bei Betätigung der Taster passiert nichts. Probiere ich ein wenig mit den Pins der Ports rum, kann ich auf einem Pin von Port B mit dem Taster ( an Port D) die Lampe AUSSCHALTEN, aber nicht ein.
Kann mir einer einen Tipp geben ?
Bye,
ComCat
ich versteh die Welt nimmer. Ich habe mir zum Einstieg das im Titel besagte SiSy AVR-Board in der Version 1.4c gekauft. Das Zusammenlöten lief problemlos. Zum Test spielte ich das Testprogramm welches AVR zur Verfügung stellt drauf und auch das funktionierte ( Taster, LEDs, Beeper, Ausgabe an der seriellen Schnittstelle).
Jetzt wollte ich einfach ein Assemblerprogramm draufspielen, welches einfach beim Bedienen eines Tasters eine LED anmacht. Im Prinzip ist es nichts anderes als in vielen AVR-Tutorials am Anfang erklärt wird. Nur, wenn ich diesen Code auf den Controller spiele, funktioniert gar nichts richtig :
.include "m8def.inc"
begin: rjmp main ; 1 POWER ON RESET
reti ; 2 Int0-Interrupt
reti ; 3 Int1-Interrupt
reti ; 4 TC2 Compare Match
reti ; 5 TC2 Overflow
reti ; 6 TC1 Capture
reti ; 7 TC1 Compare Match A
reti ; 8 TC1 Compare Match B
reti ; 9 TC1 Overflow
reti ; 10 TC0 Overflow
reti ; 11 SPI, STC Serial Transfer Complete
reti ; 12 UART Rx Complete
reti ; 13 UART Data Register Empty
reti ; 14 UART Tx complete
reti ; 15 ADC Conversion Complete
reti ; 16 EEPROM Ready
reti ; 17 Analog Comparator
reti ; 18 TWI (I²C) Serial Interface
reti ; 19 Store Program Memory Redy
;------------------------------------------------------------------
main :
LDI r16,LOW(RAMEND)
OUT SPL,r16 ;Init Stackpointer
LDI r16,HIGH(RAMEND)
OUT SPH,r16
LDI r16,0b11111111
OUT DDRB,r16
LDI r16,0b00000000
OUT DDRD,r16
mainloop:
WDR
IN r16,PIND
OUT PORTB,r16
RJMP mainloop
Ist das Programm drauf und das Board verkabelt, leuchten die LEDs bereits und bei Betätigung der Taster passiert nichts. Probiere ich ein wenig mit den Pins der Ports rum, kann ich auf einem Pin von Port B mit dem Taster ( an Port D) die Lampe AUSSCHALTEN, aber nicht ein.
Kann mir einer einen Tipp geben ?
Bye,
ComCat