Hallo .. ich hab vor 3 Wochen mein 200 l Aquarium wieder eingerichtet und möchte nun die Zeitschaltuhr mit einer AVR-Steuerung ersetzen. Hab schon einiges mit den AVR gebastelt und hatte einen ATMEGA8535 mit LCD, Ds1307, DS18B20, und eben RC5 - Fernbedienung auf einem Steckbrett zusammen gebaut und mit Bascom losprogrammiert. Dabei stieß ich an die 4K Grenze der BASCOM DEMO. OK -- die Software ist Klasse - kurzentschlossen kaufte ich ONLINE die Vollversion von BASCOM direkt bei MCS -- Version 2.0.7.3 Zuvor hab ich mit V 1.11.9.8 angefangen -eben die Demo- Mein Problem: RC5 funktioniert nicht mehr mit der neuen Version, hab Controller, Fernbedienung und IR Empfänger ausgetauscht, und das ganze nochmal mit einemm ATMEGA8 nachvollzogen. hab die neue Version deinstalliert und die alte wieder drauf --es funktioniert --- leider lässt sich die alte Demo nicht als Vollversion benutzen und die 4K Grenze erlaubt nicht alle meine Wünsche -- obwohl ich ja nun eine Lizenz dazu habe. genug geschrieben .. Weiß jemand Rat ? hier das Listing ---- > mit V 1.11.9.8 funktioniert mit 2.0.7.3 nicht ----------------------------------- ' ATMEGA8 mit Quarz 3,684 MHz ' RC5 Test - Ausgabe von Command und Adress auf LCD ' Rot - ist eine Rote LED als Statusmelder $regfile = "m8def.dat" $crystal = 3684600 Dim Adress As Byte Dim Command As Byte Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Config Lcd = 16 * 1 Config Rc5 = Pind.7 Config Pind.7 = Input Enable Interrupts Rot Alias Portb.0 Config Rot = Output Rot = 1 Cursor Off Cls Do Getrc5(adress , Command) Command = Command And &H7F Locate 1 , 1 Lcd Hex(adress) ; " " ; Hex(command); Toggle Rot Waitms 300 Loop End
Stefan Baier schrieb: > Mein Problem: RC5 funktioniert nicht mehr mit der neuen Version, Wenn du das Ding gekauft hast, was hindert dich daran, MCS zu fragen?
Hab ich parallel zu diesem Beitrag auch getan .... aber: Holland -- und hier sind so viele kompetente "Kollegen" - also Danke für jede Antwort
Dann geb ich dir einen Tip: Nebenan im Roboternetz Forum wird mit BASCOM gearbeitet auf Teufel komm raus. Hier in diesem Forum sind es nur wenige.
Na du bist ein Spassvogel. Ich bezweifle momentan das das vorher funktioniert hat. Zeige mir mal wo du in diesem Programm die Adresse und Command zugewiesen hast? Ich sehe nichts davon. Eigentlich müsste der Compiler meckern weil er weder die Adresse noch die Command definition kennt. Wie wäre es mal die Basom-Hilfe zu benutzen? Wahrscheinlich ist irgendein Umgang mit der RC5 Geschichte nicht richtig gehändelt. Ich könnte dein Programm ja mal bei mir übersetzen, aber was da bisher steht, motiviert mich nicht das zu tun.
Nachdenker schrob: >Eigentlich müsste der Compiler meckern weil er weder die Adresse noch >die Command definition kennt. Zitat Loriot: ACH?! ...da steht's drin: >Dim Adress As Byte >Dim Command As Byte >Ich könnte dein Programm ja mal bei mir übersetzen, aber was da bisher >steht, motiviert mich nicht das zu tun. Dann leg Dich wieder hin. Ich habe hier leider auch nur die Version 1.11.9.5, damit läßt es sich aber fehlerfrei übersetzen. MfG Paul
Okay, ich saß vorher nicht im Hobbyraum, hatte nur mal kurz im Buch nachgeschaut und den Verdacht, ein RC5 Kommando wird falsch angewandt. Bin jetzt drüben und habe das Programm in meine Version 2.0.7.3 kopiert und übersetzen lassen. Wird ohne Fehlermeldung übersetzt, müsste also gehen.
Wenn ich das Eröffnungsposting richtig lese, dann ist das Problem nicht, dass es nicht compilieren würde, sondern das die Funktion nicht mehr gegeben ist.
Hier Auszug aus der bascom-Hilfe der neuesten Version. Da dies hier weiterhin gelistet ist, gehe ich davon aus die Funktion ist weiterhin gegeben. Auszug: 'The GETRC5 function uses TIMER0 and the TIMER0 interrupt. 'The TIMER0 settings are restored however so only the interrupt can not 'be used anymore for other tasks 'tell the compiler which pin we want to use for the receiver input Config Rc5 = Pind.2 'the interrupt routine is inserted automatic but we need to make it occur 'so enable the interrupts Enable Interrupts 'reserve space for variables Dim Address As Byte , Command As Byte Print "Waiting for RC5..." Do 'now check if a key on the remote is pressed 'Note that at startup all pins are set for INPUT 'so we dont set the direction here 'If the pins is used for other input just unremark the next line 'Config Pind.2 = Input Getrc5(address , Command) 'we check for the TV address and that is 0 If Address = 0 Then 'clear the toggle bit 'the toggle bit toggles on each new received command 'toggle bit is bit 7. Extended RC5 bit is in bit 6 Command = Command And &B01111111 Print Address ; " " ; Command End If Loop
Genau so ist es ...es wird fehlerfrei übersetzt ...lässt sich dann ich die AVR schiessen ... nur die mit 2.0.7.3 compilierte Variante funktioniert nicht mehr .. Adress und Command bleiben &HFF ... ich hab es mit ATMEGA8, mit TINY26 und ATMEGA8535 reproduzierbar wiederholt .. hat MCS was am RC5 geändert .. die Hilfe sagt nichts ausser dass TIMER0 verwendet wird, und den hab ich nicht angefasst. Auch Empfänger und Fernbedienung hab ich schon ausgetauscht
Ich bitte um Geduld, verschalte mal einen IR Sensor und probiere dein Programm damit aus. Melde mich dann wieder. (Hoffe nur meine Fernbedienungen arbeiten auf RC5 Basis)
Eben als E-Mail erhalten: >> und es funktioniert ! << Hello Stefan Config Rc5 = Pind.7 when you add this : Config Rc5 = Pind.7, WAIT=2000 it should work the same. More info you can find in the help under config rc5. of course you can always install an older version using the updatewiz. Best regards, Mark Alberts MCS Electronics www.mcselec.com
Siehste, ich sagte doch schau mal in der Bascom-Hilfe die RC5 Dinger durch. Hatte dort zwar nachgeschaut und es steht dort auch was von Wait=2000 drin, das Mark Albert für alte RC5 Gerätschaften empfiehlt, kam aber nicht auf die Idee dass an dieser simplen Option liegt. Okay, dann brauch ich ja nicht den Lötkolben anzuwerfen, es funktioniert jetzt bei dir. Mit RC5 werde ich mich aber auch mal beschäftigen, rein Interessehalber.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.