Hallo zusammen! Ich lese hier seit Monaten mit und habe als anfänger beeits eine Unmenge gelernt, aber wie das halt so ist, werfen Antworten grundsätzlich weitere Fragen auf....Nun zu meinem Problem: Ich habe für meine Eltern eien Alarmanlage mit einem ATMega128 gebaut welcher gleichzeitig als Kamera-Umschalter fungiert (4 Kameras auf einem Monitor umschaltbar), nun sind meine Eltern nicht mehr die jüngsten und haben Problemem auf anhhieb zu erkennen welcher Bereich auf dem Monitor gerade abgebildet wird. Da wäre es hilfreich eine Text-Einblendung nach dem Muster "Garage vorne" oder "Eingang hinten" darstellen zu können. Es gibt hier und im Netz ja zahlreiche Beispiele die aber entweder nicht in BASCOM oder einfach Overkill vom Schaltungsausfwand her sind....ich möchte dies nur über 3 zusaätzlich Widerstände (schwarz, grau, weiß) realisieren weil ich die Schaltung ja schon fix und fertig in Betrieb habe und da keine speziellen OSD-IC's mehr einlöten kann und außerdem reicht eine einfache weiße Schrift auf grauem Hintergrund aus. Die Software soll in BASCOM einfachst gehalten werden, der Text kann ruhig fest im Source-Code implemtiert werden (als Variable). Wäre jemand so lieb mir diesbezüglich mit dem Sourcecode behilflich zu sein? Ich würde mich wahnsinnig freuen!
@Falk: Deine herrlich sinnlosen Einträge zeugen von extremer Dummheit und Unreifheit. Sie tragen nicht zur Lösung des Problems bei. Wenn also ein Problem deinen Horizont übersteigt, antworte einfach nicht In Bascom wirst du echt Probleme haben, Das umzusetzen, vorallem weil die Textausgabe einiges an Rechenzeit in Anspruch nimmt. Ich würde behaupten, wenn du 3 Pinne frei hast wäre die am einfachsten zu implementierende Lösung eine kleine Zusatzplatine mit nem OSD drauf, die dann über I2C oder RS232 Anweisungen bekommt. ELV hatte mal eine fertige Platine, für 30€ die nen Controller mit drauf hatte, da konnte der OSD GANZ EINFACH über RS232 angesprochen werden
vielleicht nicht die OSD-idee, die du ins auge gefasst hast, aber vielleicht lösst sie dein problem trotzdem: wie wär's wenn du auf einer zusätzlichen tafel 4 LEDs hast und daneben steht der standort der kammera. dann könntest du ganz einfach die entsprechende LED aufleuchten lassen. ...aber eben, ich weiss halt nicht, ob das nachträglich noch möglich ist.
Also Bascom allein wird das wohl nix. Im ein byte aus dem flash zu holen verbrauchst du locker deine 12 takte. man könnte sehen das man das dann über die spi schnittstelle rausgibt, allerdings möchte ich behaupten das da SEEEEEHHHHRR viel zeit mit debuggen rausgehauen werden wird. und takte zählen :-)
Ach und nochwas. Du willst da das bild uberblenden, über die kamera. das bedeutet du musst die videosignale übereinander legen, also müssen die syncronsignale gleich sein. das heißt du brauchst nen lm1881 oder so.
Ich würde auch zu einem OSD-IC tendieren. Mit dem AVR + 3 Widerständen wirst du es wohl nicht schaffen, da du den AVR mit der Kamera syncronisieren musst. Das ginge evtl noch mit einem Sync-Abtrenner und die Impulse auf einen Interrupt-eingang gelegt. Nun hast aber das Problem, dass du das Timing sehr genau einhalten musst. Pro Bildschirmzeile führt ein AVR@4MHz nur 256 Befehler aus, in denen du das Bild erzeugen musst! Mit bascom (und vermutlich auch mit C) unmöglich.
Vielen Dank für die Hinweise und vor allem den sehr interessanten Link, die Sache mit dem LM1881 habe ich auch bereits in's Auge gefasst, außerdem bin ich gerade dabei von BASCOM auf WinAVR unzusteigen, weil ich bei einem anderen Projekt bemerken mußte daß BASCOM für die selben Routinen doch ein paar Takte mehr benötigt als C.....ich denke in C ließe sich das mit dem OSD (zusammen mit LM1881 sicher, denke ich) bewältigen. Ursprünglich dachte ich, ich könnte die Synchronisation über Ain (0-Volt abtasten und dann den Text ausgeben), aber da muß ich wohl doch noch ein paar PAL-Grundlagen studieren, immerhin habe ich auf die Art einen flimmernden weißen Streifen über das Kamera-Bild gezaubert. @Sebastian: Vielen Dank für den Link, das werde ich mir jetzt mal genauer ansehen, das könnte ich hinbekommen, nur blöd das die ganze Anlage von mir bereits in BASCOM programmiert wurde.....
Ich benutze NUR bascom (und asm wenns wirklich nötig ist), allzublöd is das nicht. Du wirst schon nen anständigen interrupt-pin nehmen müssen. sonst wird das mit dem genauen timing nix
hier hat wohl noch keiner gehöhrt das man ASM direkt in bascom einbinden kann deswegen macht das umsteigen auf C keinen sinn, zumal C kein wenig schneller ist wenn man mit bascom vernünftig umgehen kann und nicht die high level befehle benutzt.in diesem fall müste man bei C auch mit ASM einbinden arbeiten.
Tja, ich bin nun auch wieder am schwanken, bisher habe ich nur an einem herumliegenden ATMega8 mit C / WinAVR herum experementiert, aber eigentlich arbeite ich am liebsten mit dem 128 bzw 168-Crumb. Jetzt ist mir gerade etwas aufgefallen: Kann es sein das WinAVR nur die Prozessoren AT90USB82, AT90USB162, ATmega325P, ATmega3250P, ATmega329P, ATmega3290PA, AT90PWM1, ATmega16HVA und ATmega8HVA unterstützt? So steht es zumindest in dem Handbuch.....das wär ja mau. Zu dem Interrupt, ja davon bin ich bereits ausgegangen: 0V an Ain0 löst Interrupt aus und der AVR schreibt dann Pixel für Pixel in's Bild, aber wie gesagt, ziemlich laue Vorstellung die ich da habe. Ich habe mir jetzt erstmal nen 2,1"-Mini TFT mit FBAS-Eingang gekauft und muß mal n bißchen herum experimentieren was wie eigentlich in so enem Signal passiert, dan zerschiess ich mir wenigstens nicht den Fernseher. wenn alle Stricke reißen nehm ich halt n2. Prozessor nach dem Beispiel von o. g. Link. Ist dann zwar nicht so schön weil nicht selbst entwickelt, aber hier geht es ja auch um eine schnelle Lösung und gut.
Ich versuche nun die Sync-Signale über den Comparator abzufragen (0V = Interrupt) und einen Text (bzw. die Pixel) Bitweise über SPI raus zu feuern. So, und nu bin ich mit BASCOM bei dem Problem timing angekommen..... Kennt jemand einen Link bzw. sonstige Quelle wo ich eine Übersicht aller Bascom-Befehle mit deren benötigten Takten zur Ausführung her bekomme? Ich hab' mich schon wund gesucht..... Vielen Dank und Gruß!
Mario wrote: > Kennt jemand einen Link bzw. sonstige Quelle wo ich eine Übersicht aller > Bascom-Befehle mit deren benötigten Takten zur Ausführung her bekomme? > Ich hab' mich schon wund gesucht..... Würde mich auch wundern, wenn es dazu etwas gäbe. Diese Taktzahl kann/wird sich mit jeder neueren Version des Compilers verändern. Der Entwickler braucht nur einen neuen Kniff in die Optimierungsstufe des Compilers einbauen, und schon stimmt nichts mehr. Wenn du taktgenau arbeiten willst/musst, dann ist Assembler immer noch das Sicherste.
Du kannst im Simulatorfenster von BASCOM sehen (ganz unten am Rand), wie lange ein Befehl jeweils dauert, wenn Du das Programm schrittweise abarbeiten läßt. MfG Paul
if abfragen solltest du meiden. If Pinb.4 = 1 Then Gosub Zufall ---------> 5 Takte End If SBIC pinb,4 rCall Zufall: ----------3 Takte Rjmp Main: Zufall: nop ret Paul Baumann hat recht.
Ah ja, klar, daran hatte ich nicht gedacht, das ist im Simulator natürlich schön zu sehen, danke! Bzgl. If abfragen: Danke für den Hinweis, bei der Timingabhängigkeit werde ich in erster Linie mit den Timern arbeiten und die Pixel über SPI (mittels DATA oder BIN-FIle ausgeben, ich denke (und werde es am WE testen) das sollte gehen, mal sehen.....
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.