Hallo zusammen, bei der Programmierung des MIDI Interfaces für meine Yamaha Orgel, ist mir aufgefallen das ich manche Einstellungen mit sts schreiben muss und manche mit out. Hier am Beispiel des externen Interuptes.
1 | ; Set EXTINT0 |
2 | ldi temp, (3<<ISC00) ; Enable rising edge of INT0 |
3 | sts EICRA, temp |
4 | |
5 | ; Enable INT0 |
6 | ldi temp, (1<<INT0) ; Enable INT 0 |
7 | out EIMSK, temp |
Ich verwende den mega88 und habe auch schon gelesen das der erweiterte I/O Bereich per in/out erreichbar ist. Welche Addressen sind das beim mega88? Ferner habe ich das Problem das bei der Initialisierung des UART0 das einschalten des TX ein kopieren der Daten in UBR0H zur Folge hat. Das heisst setzen des UCSR0B, danach ist UBRR0H identisch.
1 | ; Set Baudrate |
2 | ldi temp, LOW(UBRRVAL) |
3 | sts UBRR0L, temp |
4 | ldi temp, HIGH(UBRRVAL) |
5 | sts UBRR0H, temp |
6 | |
7 | ; Frame-Format: 8 Bit |
8 | ldi temp, (1<<UMSEL00)|(3<<UCSZ00) |
9 | sts UCSR0C, temp |
10 | |
11 | ; Enable TX |
12 | ldi temp, (1<<TXEN0) |
13 | sts UCSR0B,temp |
Muss ich hier auch einen anderen Befehl zum setzen des TXEN benutzen? Meine Versuche funktionierten alle nicht! Jeder Rat ist willkommen. Gruss Roman