Hallo ich wollte gerne einen Quellcode von einem PIC12C508 abändern und
auf einem Mega8 laufen lassen.1.Ist das überhaupt möglich?Wenn ja gibt
es eventuell die Befehle der verschiedenen MC in einer Liste?Ich meine
z.B. PIC Timer TMR0 = Mega TCCR0 usw. weil ich bin noch totaler Anfänger
und kann leider nicht den Code selbst schreiben.Ich möchte nähmlich eine
Schaltung von mir die einen IR Empfänger besitzt erstmal über den Mega8
ansteuern,da der TSOP nicht funktioniert.Es liegt aber nicht an der
vorhandenen Schaltung da diese schon bei jemand anderen läuft.Bauteile
sind genau die selben und meine Schaltung läuft bis auf die Ansteuerung
des Menüs.Ich hatte jetzt einfach vor den Quellcode einer RC5
Fernbedienung auf einen Mega8 zu brennen daran dann einfach erstmal 5
Schalter klemmen und diesen dann am Eingangpin RC5 der anderen Steuerung
anzuklemmen.Das müßte doch eigentlich funktionieren oder nicht?
Für eine kleine Starthilfe wäre ich Euch sehr dankbar.Oder gibt es
irgendwo einen Code der schon auf einem Mega8 läuft?Ich habe nichts
gefunden.
C oder ASM? Eigentlich egal, in jedem Fall:
>Ist das überhaupt möglich? ... ich bin noch totaler Anfänger
Vergiss es...
>Ich habe nichts gefunden.
Dann hast du wohl falsch gesucht.
Wieso??? schrieb:> Wenn ja gibt> es eventuell die Befehle der verschiedenen MC in einer Liste?Ich meine> z.B. PIC Timer TMR0 = Mega TCCR0 usw. weil ich bin noch totaler Anfänger
nee, so geht das nicht,
Programm einfach übertragen geht nicht, da die beiden mc verschiedene
Hardware besitzen.
Wenn Du ein Programm mit Timern und pipapo übertragen willst, dann musst
du beide Architekturen gut kennen.
Also versuch lieber eine kennenzulernen und dann dein Programm selber zu
schreiben (geht aber nicht mehr bis Weihnachten)
Hallo Wieso???
fraglich wie du zu deinem Namen gekommen bist, aber ich find deinen
Wiedererkennungswert damit optimal :-)
Zu deinem Thema...
Da du totaler neuling bist in sachen Programmieren würde ich dir die
simple BASCOM AVR Hochsprache emfehlen...
Damit hab ich damals auch einen sehr schnellen einstieg gehabt und
eventuell auch einen Atmega 8 µC / ATTiny2313...beide sind ideal
beschaltet und damit sehr gut für den einstieg geeignet...Ich selbst hab
meine eigene RC5-Emfangs/Sender-Schaltung innerhalb von 4 tagen ganz
allein durch lesen und probieren geschafft...
Also, hau auf die tasten und viel erflolg...
lass wissen, wenn ich dir in sachen bascom helfen kann...
lg Giuseppe
Ja vielen dank.
was bedeutet eigentlich
#define RC5_LEFT 86
Ich verstehe definiere Fernbedienung Knopf links 86???
Ist simple Bascom so leicht zu lernen was sind denn da genau die
Vorteile? Weil mich regt es auf das ich für jeden sche... Euch fragen
muss
In Bascom gibt es fertige Routinen (SendRC5, GetRC5).
Damit kann man in kurzer Zeit eine Fernbedienung programmieren. Lade Dir
doch die kostenlose Demo-Version von MCSELECTRONIC herunter. Dort gibt
es
in der Hilfe auch Beispiele zu finden, wie man das in die Tat umsetzt.
MfG Paul
@wieso???
probiers doch einfach aus...
die vorteile sind zuerst klar auf der hand...
du musst nicht umbedingt assembler lernen, wie du das grade versuchst
(auch wenns eigentlich von vorteil ist), sondern einfach nur
vordefinierte bausteine eintragen, die auch viel verständlicher und
intuitiver sind...
bei bascom zb heist der rc5 sendecode für taste Standby am fernseher:
>>> Rc5send 0 , 01 , 12
wobei "0" für das togglebit steht (ob taste wiederholt oder einzel
gedrückt ist)...
"01" steht für das gerät (in dem Falle Fernseher 2 (TV2))...
und "12" steht für den RC5 Befehl ausschalten (Standby)
<<<
also, was is verständlicher???
"Rc5send 0 , 01 , 12" oder "#define RC5_LEFT 86"
darin mein lieber, liegt der Unterschied zwischen assembler und
Hochsprache Bascom....
Wenn du fragen hast, melde dich...
LG Giuseppe
wenn es das mk2 board von myavr ist mit usb version, dann wirst du dich
totprügeln, aber es wird nicht damit laufen...
nimm stattdessen avrdude, damit liefs bei mir auch...
benutze bascom nur zum programmieren und zum kompilieren...
LG Giuseppe
Habe mal eine Frage jetzt wollte ich mal was ganz einfaches in Bascom
programmieren aber meine LED blinkt nicht (Benutze intern 1mhz)
$regfile = "m8def.dat"
$hwstack = 40
$swstack = 32
$framesize = 60
$crystal = 1000000
Config Portb.0 = Output 'Ein Pin
wird als Ausgang konfiguriert PC0 (also Pin0 von Port C)
Do
Portb.0 = 1 'Pin wird
auf High, also 5V geschaltet
Waitms 100
Portb.0 = 0 'Pin wird
auf Low, also 0V geschaltet
Waitms 100
Loop
End
Giuseppe schrieb:> wenn es das mk2 board von myavr ist mit usb version, dann wirst du dich> totprügeln, aber es wird nicht damit laufen...> nimm stattdessen avrdude, damit liefs bei mir auch...> benutze bascom nur zum programmieren und zum kompilieren...> LG Giuseppe
also bei mir geht mein myavr MK2 mit BASCOM prima ... der Programmer
wird von der aktuellen BASCOM version sogar dierkt unterstützt und in
der Programmerliste zur auswahl angeboten...
cu BT
Also ich habe den Programmer jetzt auch drinne geht aber nicht kommen
tausende Fehlermeldungen did not respont to command:write byte
woran kann das liegen??
@Wieso
>Config Portb.0 = Output 'Ein Pin>wird als Ausgang konfiguriert PC0 (also Pin0 von Port C)
Du konfigurierst zwar den richtigen Port B Pin 0 damit, aber in deinem
Kommentar nebendran ist es Port C den du meinst????
Wo hast du die LED angeschlossen??? Sicher auch Port B???
Code scheint soweit ok zu sein, ich würds allerdings so machen...
Do
toggle PORTB.0 'Pinzustand am PortB Pin0 wird gewechselt...
waitms 500 'Pause für 500ms
Loop
Sag bescheid, wie es aussieht:-)
LG Giuseppe
>Also ich habe den Programmer jetzt auch drinne geht aber nicht kommen>tausende Fehlermeldungen did not respont to command:write byte>woran kann das liegen??
Ich sagte doch du wirst dich totschlagen...
wenns gehen sollte, ist es wirklich fast schon ein wunder denke ich...
bei mir läufts seit jahren nicht...
nimm AVRDude und lern lieber effektiven code, statt dich rumzuärgern...
Giuseppe
Giuseppe schrieb:> also, was is verständlicher???> "Rc5send 0 , 01 , 12" oder "#define RC5_LEFT 86">> darin mein lieber, liegt der Unterschied zwischen assembler und> Hochsprache Bascom....> Wenn du fragen hast, melde dich...
Bist du sicher, dass bei dir nicht auch noch Klärungsbedarf zur
Abgrenzung Assembler/Hochsprache besteht? Welcher Assembler kennt denn
bitte solche Konstrukte:
>Rc5send 0 , 01 , 12
Genausowenig ist #define BASCOM-spezifisch. Diese Direktive kennen
einige Assembler und noch mehr Hochsprachen. Noch Fragen?
@Loonix
>Bist du sicher, dass bei dir nicht auch noch Klärungsbedarf zur>Abgrenzung Assembler/Hochsprache besteht? Welcher Assembler kennt denn>bitte solche Konstrukte:
Ja ich bin mir sicher, weil Bascom kein Assembler ist, es aber auch
interpretieren / einfügen kann...
Meine genannte direktive funktioniert genauso wie auch geschrieben schon
seit jahren in meinen Anwendungen und ich habe auch eine Firma die auf
meinen Namen sowas entwickelt, von daher bin ich mir auch sicher...
ich sagte auch niemals das " #define" BASCOM-spezifisch ist...
Noch fragen??? :-)
Lg Giuseppe
Also das Kommetar war nur falsch geschrieben habe jetzt einfach mal mit
Bascom gebrannt und siehe da der Code klapt Fehlermeldungen habe ich
alle ignoriert geht trotzdem.
Hi
>Bist du sicher, dass bei dir nicht auch noch Klärungsbedarf zur>Abgrenzung Assembler/Hochsprache besteht? Welcher Assembler kennt denn>bitte solche Konstrukte:>Rc5send 0 , 01 , 12
'Rc5send 0 , 01 , 12' kann in Assembler ein Makro sein. Ist kein Problem
im
AVR-Assembler so etwas zu schreiben.
MfG Spess
Ja sie blinkt aber jetzt habe ich mal ein LCD angeschlossen und etwas
ausgeben wollen jetzt bricht es beim Programmieren ab.Wenn ich aber die
Hexfile in Workpad Plus lade und brenne geht das Display.Aber jedesmal
wenn ich etwas hinzufüge und neu compiliere und die Hexfile wieder
brenne klapt es nicht muss erst die Hex löschen neu compiliren und dann
gehts woran kann das liegen
was für einen drucker hast du installiert??
bascom erfordert das mindestens ein drucker installiert ist, damit es
auch richtig läuft...
vielleicht sind auch deine systemdateien oder einstellungen nicht in
ordnung???
oder vielleicht hast du einfach nur einen fehler in deinem quellcode
eingebaut...
wenn wir kein code oder schaltung von dir haben, können wir auch nur
spekulieren...
Ne klapt jetzt hatte wirklich einen Fehler im Code.
Aber es stimmt Bascom ist wirklich leicht zu lernen im gegensatz zu C
C++.
Ich habe jetzt schon ein LCD ans laufen gebraucht das erst was Anzeigt
wird nachdem ein Interupt ausgelöst wird.Leider habe ich den INT0
doppelt belegt deswegen geht es nur Teilweise.Kann den Display Anschluss
nicht verändern.
doch du kannst das display in bascom so belegen wie du es willst...
hauptsache du teilst bascom deine Anschlüsse mit indem du die CONFIG LCD
Zeile anpasst...
Siehste mal, in 4 tagen schaffst du es locker dein ziel zu erreichen :-)
viel spaß und glück ;-)
LG Giuseppe
Nein ich meinte das Ich das LCD vertig verdrahtet habe (ist zum stecken
deswegen kann ich es nicht ändern.Und der interupt liegt genau auf einen
solchen pin von LCD deswegen doppelt.
Ich habe jetzt aber mal eine andere Frage.Ich habe mir jetzt den Pin der
am Interrupt angeschlossen war von LCD weggebogen und einfach ein Kabel
neu verdrahtet.Damit ich den Interupt zum einlesen eines TSOP nehmen
kann.Auf dem Display wird mir jetzt die Adresse und das Kommando
ausgegeben wenn ich eine Fernbedienung drauf halte (RC5).Das klapt auch
wunderbar.
Ich habe jetzt aber noch meine andere Schaltung die von jemanden in c
programmiert worden ist.Wie schaffe ich jetzt den C code so zu andern
das ich die Adressen verändern kann damit diese schaltung endlich
reagiert.Leider ist der Code so komplex das ich nur Bahnhof verstehe
siehe Anhang
ich würde sagen, schreib sie doch einfach schnell neu...
weil portieren ist viel zu schwer für en anfänger...
was soll denn die schaltung bewirken?? oder welche funktionen soll die
haben, dann kann ich dir vielleicht auch helfen...
LG Giuseppe
Es ist eine Terrariumsteuerung
Atmega32
SHT11
DCF Module
LCD
5 Relais
TSOP
Also 2 Relais steuern Temparatur und Feuchtigkeit per SHT11 /hysterese
Die 3 weiteren Relais können frei eingestellt werden.
Das DCF Module ist für eine genaue Zeit
LCD gibt die werte aus und zeigt das Menü an
Es gibt ein Menü um die Werte einzustellen für die Zeitschaltuhr genauso
wie die werte von Temp/feuchte.Leider ist die Universalfernbedienung
schei... Man kann aber nur über den TSOP das Menü steuern,deswegen habe
ich mir einen RC5 code rausgesucht der bei der Fernbedienung
einigermaßen funktioniert und wollte jetzt einfach ins RC5 Protokoll die
werte eintragen.
dann entwickle sie doch mit freude selbst...
ich mein, wie lcd funzt kennst schon, ebenso auch das RC5 Protokoll...
arbeite dich in den temperaturfühler ein und dann schreibst du dir dein
eigenes programm das dann alle funktionen nach deinem wunsch hat...
du bist nicht weit entfernt vom ziel...
Lass mich wissen, wie ich dir helfen kann...
LG Giuseppe
Wieso??? schrieb:> was bedeutet eigentlich>> #define RC5_LEFT 86
Dafür musst du nur C/C++ kennen, das hat nix mit µCs zu tun. Die
Anweisung ist für den Compiler, er wird hierbei überall im Code den
Bezeichner "RC5_LEFT" gegen die Zahl 86 austauschen. Das dient halt der
Lesbarkeit des Codes.
Also ich denke es wär einfacher in Bascom eine passende Ferndedienung zu
programmieren es gibt ja schon auf der Bascom seite eine RC5 routine.Was
ich nicht ganz verstehe ist wie der Schaltplan aussehen muss.
an sich brauchst du nur eine IRLED an Pin OC1A, die Ports konfigurieren
und Taster an jeden beliebigen Port... Paar zeilen quelltext und deine
fernbedienung ist fertig... was für ein prozessor nutzt du denn??
und wie viele Tasten willst du haben und wieviele codes sollen es denn
werden???
mach dir mal nen schaltplan und dann bauste dir das langsam auf...
LG Giuseppe
Ich wollte das mit einen Mega8 aufbauen 5 Tasten.Einen schaltplan hab
ich schon.
Also wenn ich das ganze aber komplett neu in Bascom schreiben möchte.
Ist es möglich sagen wir mal eine Datei für den SHT11 zu schreiben.Weil
die hätte ich schonmal.Dann eine für den Tsop usw. und diese dann in
sagen wir mal eine main datei einzufügen.Das wär für mich einfacher weil
ich Teilabschnitte programmieren könnte.
@wieso???
>Ich wollte das mit einen Mega8 aufbauen 5 Tasten.Einen schaltplan hab>ich schon.
poste den doch mal hierrein, dann schauen wir drüber und könnten dir
sagen, was gut und was schlecht dran ist...
dann haben wir auch eine ahnung, was du in deinem text einbauen könntest
:-)
>Also wenn ich das ganze aber komplett neu in Bascom schreiben möchte.>Ist es möglich sagen wir mal eine Datei für den SHT11 zu schreiben.Weil>die hätte ich schonmal.Dann eine für den Tsop usw. und diese dann in>sagen wir mal eine main datei einzufügen.Das wär für mich einfacher weil>ich Teilabschnitte programmieren könnte.
möglich wär das schon, aber dadurch machst du den code unnötig größer
und könnte passieren das er dann nicht mehr frei kompilierbar wäre, was
mir auch schon oft passiert ist...
aber im prinzip geht das schon, würd ich aber nicht wirklich tun...
mach lieber alles schön kommentiert in einer bascom datei und gut ist...
LG Giuseppe