Gast
#37209
Hi Leute
Also wir haben eine Anzeigetafel gebastelt die mit einem 8515
angesteuert wird.
die Einheit zum Anzeigen funktioniert schon einwandfrei nur wir haben
noch ein problem mit dem Controller. Wie kann es sein dass es teilweise
beim einschalten mit der Initialisierung funktioniert und teilweise
nicht?Der Controller ist ordentlich gestützt usw. auch wenn man am
anfang eine Zeitschleife einbaut haut es bei 5 versuchen vielleicht 2
mal hin!
RESET:
ldi temp,LOW(RAMEND)
out SPL,temp
ldi temp,HIGH(RAMEND)
out SPH,temp ;Stack initialisiert
sbi UCR,RXEN ;Receiver freigegeben
sbi UCR,TXEN ;Transmitter freigegeben
sbi UCR,RXCIE ;RxC Interrupt freigegeben
ldi temp,11
out UBRR,temp ;Baudrate=19000 (bei 3.6864Mhz)
cbi SPCR,SPIE ;Interrupt lokal gesperrt
sbi SPCR,SPE ;SPI aktiviert
sbi SPCR,MSTR ;Microcontroller = Master
sbi SPCR,CPOL
cbi SPCR,DORD ;MSB wird zuerst geschickt
sbi SPCR,CPHA ;Übertragungsformat
sbi SPCR,SPR0
sbi SPCR,SPR1 ;Frequenz von SCK = 3.68MHZ / 128
sei
INIT:
ser temp
out DDRB,temp
ldi temp,0b11111011
out PORTB,temp ;PortB als Ausgang definiert (SPI)
ser temp
out DDRC,temp
out PORTC,temp ;PortC als Ausgang definiert (CS)
out DDRA,temp
out PORTA,temp ;PortA als Ausgang definiert (CS)
ldi temp,0b00001110 ;Pin 0,1: UART / Pin 2,3: Leds / Pin
4,5,6,7: Taster
out DDRD,temp
ser temp
out PORTD,temp ;Leds sollten dunkel sein
clr XH
ldi XL,$60
rcall REGISTERLADEN
rcall RAMBESCHREIBEN
rcall LOESCHEN ;Unterprogramm zum Löschen der SMS auf dem
Speicherplatz Nr.1 im Modem
rcall MODE ;Unterprogramm zum Ändern des Modus (Modem meldet
sich
beim Erhalten einer SMS)
clr temp ;Nach Ende der Initialisierung
leuchten die LEDS
out PORTD,temp
clr XH
ldi XL,$60
clr Status
Vielleicht ist irgendwas nach dem Reset falsch initialisiert.
Irgendeine Standartkomponente oder so??
Aus den Unterprogrammen wird ordnungsgemäß wieder rausgesprungen!!!
Bitte um Hilfe