Hi,
ich leg mir gerade die Karten mit dem Empfang von MIDIdaten
am ATtiny2313 über die USART.
Der Compiler meckert, er könne UCSRB nicht beschreiben.
Desgleichen kennt er wohl das Registerbit Ucsra.rxc nicht.
Der Code läuft prima auf dem ATMega8.
Ich habe die Datenregister UCSRA/B/C in den Datenblättern miteinander verglichen.
Bis auf ein Bit (Bit7 URSEL in Register C gibts beim Tiny nicht) entsprechen die sich.
Weiß da wer was?
Code:
$regfile = "ATtiny2313.DAT"   'Funktioniert genausowenig mit der 2313DEF.DAT
$crystal = 20000000
Ucsrb = &B00011000            'Senden und Empfangen ein. Mag der Compu
Ucsrc = &B10000110            'Konfiguration:8N1,asynchron.
Ubrr = 39                     'Baudratencode für 31250Baud bei 20MHz
Ddrd = &HFE                   'MIDI RX-Pin auf Eingang schalten
Portd.0 = 1                   'und Pullup enablen.
Ddrb = &HFF                   'Komplettes Datenrichtungsregister "b" auf Ausgang
Dim Status As Byte            'Deklarationen
Dim Note_on As Byte
Dim Note_off As Byte
Dim Note_value As Byte
Dim Velo_value As Byte
Wait 5                         'Warten, bis der Poly61 gebootet hat
Portd.5 = 1                    'Debugging-LED einschalten                                 '
Do
   If Ucsra.rxc = 1 Then
      Status = Udr
      If Status = &H90 Then
         While Ucsra.rxc = 0
         Wend
          Note_value = Udr
         While Ucsra.rxc = 0
         Wend
          Velo_value = Udr
         If Velo_value > 0 Then
         'damit hätten wir erstmal alle Infos, um eine Taste zu betätigen
         'Kopfschmerzen bereiten mir an dieser Stelle noch
         'die unterschiedlichen Möglichkeiten des Note off.
         end if
      End If
   End If
Loop


Fehlermeldungen:
Error : 46    Line :   3     Assignment error [UCSRB: 0   &B00011000: 112]  , in File : C:\WINDOWS\DESKTOP\POLY61MIDI\POLY61MIDI\POLY61MIDI.BAS
Error : 31    Line :   17    Invalid datatype [ 0]  , in File : C:\WINDOWS\DESKTOP\POLY61MIDI\POLY61MIDI\POLY61MIDI.BAS
Error : 31    Line :   20    Invalid datatype [ 0]  , in File : C:\WINDOWS\DESKTOP\POLY61MIDI\POLY61MIDI\POLY61MIDI.BAS
Error : 31    Line :   23    Invalid datatype [ 0]  , in File : C:\WINDOWS\DESKTOP\POLY61MIDI\POLY61MIDI\POLY61MIDI.BAS
thx,
tholan