1. Schau auf deine Tastatur dann bist du im Bilde.
2. Wer im Glashaus sitzt............
Wenn du schon auf Oberleherer machst dann solltest du mal deine
Shift-Taste nutzen
3. Ist das hier kein Labertopic
Zip,Zap,Zerap![]()
1. Schau auf deine Tastatur dann bist du im Bilde.
2. Wer im Glashaus sitzt............
Wenn du schon auf Oberleherer machst dann solltest du mal deine
Shift-Taste nutzen
3. Ist das hier kein Labertopic
Zip,Zap,Zerap![]()
Gruß
Ratber
Hallo,
habe einen Fehler entdeckt, der mir sehr viel Zeit gekostet hat. Hier ein kleines Programm, um den Fehler zu zeigen.
Mit Print Bin(sio(1)) stimmt das Bitmuster, versucht man aber die Bits einzeln auswerten, geht es daneben. Andere Bitmuster wie z.B. Sio(1) = &B1010_1010_1010_1010 funktionieren aber.Code:$sim $regfile = "m8def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 40 $swstack = 16 $framesize = 10 Dim Sio(3) As Word Dim X As Byte Sio(1) = &B0000_0001_0011_0000 sio(2) = &B0000_0001_1110_1000 sio(3) = &B0000_0001_1111_0000 Print Bin(sio(1)) Print Sio(1).15; Print Sio(1).14; Print Sio(1).13; Print Sio(1).12; Print Sio(1).11; Print Sio(1).10; Print Sio(1).9; Print Sio(1).8; Print Sio(1).7; Print Sio(1).6; Print Sio(1).5; Print Sio(1).4; Print Sio(1).3; Print Sio(1).2; Print Sio(1).1; Print Sio(1).0; End![]()
Gruß
Günter
Bascom Version: 1.11.8.7
Bei dem unten angehängtem Programm wird der Circle-Befehl, der die übergebenen Koordinaten im Aufruf hat, nicht richtig ausgeführt.
Die Variablen sind ok, es scheint so, dass der Circle-Befehl die Parameter falsch übernimmt.
Fehler ist noch nicht gemeldet
Code:' Testprog glcd $regfile = "m16def.dat" $hwstack = 128 $swstack = 128 $framesize = 128 $crystal = 16000000 $baud = 19200 Baud = 19200 'First we define that we use a graphic LCD Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portb , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8 Declare Sub Tacho(nr As Byte , Xcenter As Byte , Ycenter As Byte , Radius As Byte , Maxval As Long , Aktval As Long) Const Black = 255 Const X1 = 200 Const Y1 = 100 Const R1 = 20 Dim Xc As Byte Xc = 60 Dim Yc As Byte Yc = 70 Dim Rr As Byte Rr = 50 Dim Nn As Byte Nn = 1 Dim Vmax As Long Vmax = 200 Dim Vakt As Long Vakt = 200 Cls Cursor Off , No Blink Call Tacho(nn , Xc , Yc , Rr , Vmax , Vakt) Wait 1 Circle(xc , Yc) , Rr , Black ' Ok, draw a circle End 'end program Sub Tacho(nr As Byte , Xcenter As Byte , Ycenter As Byte , Radius As Byte , Maxval As Long , Aktval As Long) Circle(xcenter , Ycenter) , Radius , Black ' failed, one dot at Coordinate X=YCenter, Y=0 (radius=0 ?) Circle(30 , 30) , 20 , Black ' Ok, draw a circle Circle(x1 , Y1) , R1 , Black ' OK, draw a circle End Sub
Bascom Version: 1.11.8.7
Controller: Tiny24
der Befehl getadc (pinadresse) muss zweimal hintereinander ausgeführt werden, ehe der ausgelesene Wert aus dem Register gelöscht und ein neuer ADC-Wert eingelesen werden kann. Fällt erst auf, wenn man mehrere verschiedene Spannungen einlesen möchte.
Dieser Fehler hat mich echt zur Weißglut getrieben. Ich hoffe meine Fehlerbeschreibung ist zu verstehen.
An den Hersteller habe ich diesen Bug nicht gemeldet.
mfg
Hostmann
Fehler entdeckt mit Bascom 1.11.8.x bis 1.11.8.8 sowie dem ATMega2560.
Die ADC Kanäle 8-15 können nicht mit getadc( 8 ), getadc( 9 ) ... usw. ausgelesen werden. Die ADC Kanäle 0-7 hingegen funktionieren normal.
Die Lösung des Problem ist Adcsrb.mux5 zu setzen.
Hier ein Beispiel wie es funktioniert :
Hier der Tread zum Thema : https://www.roboternetz.de/phpBB2/vi...=295067#295067Code:Adcsrb.mux5 = 0 'Enable ADC 0 - 7 getadc(x) ' x = 0 ... 7 Adcsrb.mux5 = 1 ' and now disable ADC 0-7 and enable ADC 8-15 getadc(x) ' x = 0 ... 7
Vielen Dank an linux_80 für die Lösung des Problems.
Edit: seit Bascom Version 1.11.8.9 ist dieses Problem behoben.
----------------------------------------------------------------------Getadc() will set adcsrb.mux5 bit for channel>7 on m2560, m1280
RC5 Receiver - Fehler entdeckt in Bascom 1.11.8.x - 1.11.8.8 :
Standart Code RC5 Empfänger aus der Hilfe funktioniert nicht. Der Code wird im Bascom nicht kompiliert:
Lösung :
-öffne m2560def.dat mit notepad etc.
-suche nach timsk0
Code einfügen das es so ausieht :
TIMSK0=$6e
TIMSK=$6E
-Speichern-
Gruß
Steffen
Edit : Das ADC Problem wird in der nächsten Version behoben sein.
Vielen Dank MCS Mark![]()
Hallo,
Probleme beim ADC mit Tiny24, 44 und 84,
Bascom Version bis 1.11.8.8 (bei 1.11.8.9 steht noch nix davon in der History)
Thread:
https://www.roboternetz.de/phpBB2/ze...ag.php?t=32204
Beim Compilieren wurden die Register in der internen BascomLib durcheinandergebracht, was ein nutzen des ADC mit dem Bascom-GetADC unmöglich macht.
Fehler an MCS gemeldet.
Edit:
(MCS-Antwort 31.07.2007):
Wird im nächsten update behoben.
Edit 2:
Workaround, bis das Update verfügbar ist:
https://www.roboternetz.de/phpBB2/vi...=310182#310182
Ich hab mich jetzt mit der .8 und der .9 er Version schon Stunden gespielt, aber der urxc interrupt bei meinem Mega2560 funktioniert leider nicht.
Habt ihr das gleiche Problem??
Habs noch nicht an Bascom gemailt, wollte zuerst mal nachfragen.
Problem erledigt.
.....offensichtlich gibt es bei der Übergabe von mehr als 2 Parametern Probleme. Konkret: Die einer SUB übergebenen Werte sind in dieser falsch!
....
nein, ist kein fehler, setzt dieses hier .
$hwstack = 32
$swstack = 32
$framesize = 64
dann geht es.
Lesezeichen