Gast
#126633
Hallo, Irgendwie komme ich mit dem Atmel Mega32 nicht so zurecht, wenn ich mit Bascom folgendes Programm für einen 90S8515 teste dann klappt alles und die Led schaltet ein wenn ich mit einem Terminal TEST sende. Wenn ich das Programm aber nun in einen M32 flashe klappt das irgendwie nicht mehr. Kann mir da jemand helfen? Hat das vielleicht was damit zu tun das der Mega32 jetzt einen Buffer für einkommende Zeichen hat? Der M32 scheint ansonsten zu funktionieren, also ich kann auch auf der Seriellen Schreiben und das auch am Telnet sehen. Hoffe mal das mir einer von euch helfen kann. Danke schon mal Parker $regfile = "m32def.dat" $crystal = 8000000 $baud = 19200 Ddrb = 255 Portb.0 = 0 'Debug LED Portb.1 = 1 'LED Power_ON on Portb.2 = 1 'LED_2 off Portb.3 = 1 'LED_3 off Const Cmaxchar = 40 'number of characters Dim B As Bit Dim C As Bit Dim E As Bit Dim Bc As Byte 'byte counter Dim Buf_2 As String * 5 Dim Buf As String * Cmaxchar 'serial buffer Dim D As Byte B = 0 Buf = "" On Urxc Rec_isr 'define serial receive ISR Enable Urxc 'enable receive isr Enable Interrupts 'enable interrupts to occur Do Portb.1 = 0 'power LED on Print "Hallo Welt" 'to see OSC and Compiler Settings are OK for Serial If B = 1 Then Buf_2 = Mid(buf , 1 , 4) If Buf_2 = "TEST" Then Portb.0 = 1 Reset B End If End If Buf = "" Bc = 0 Reset B 'reset receive flag Loop Rec_isr: Toggle Portb.2 If Bc < Cmaxchar Then 'does it fit into the buffer? Incr Bc 'increase buffer counter If Udr = 10 Then Buf = Buf + Chr(0) Bc = Cmaxchar B = 1 Else Buf = Buf + Chr(udr) 'add to buffer End If End If Return