Search Results

Search results 1-20 of 1,000. There are more results available, please enhance your search parameters.

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • BQ27441 abschalten möglich?

    Mitch64 - - Elektronik

    Post

    Wenn du einem integriertem Schaltkreis einfach die Masse kappst, bleiben die Signalleitungen (z.B. I2C-Bus-Leitungen in der Regel weiterhin angelegt.. Diese können sich nun bedingt durch die Innenbeschaltung des IC's beeinträchtigen, was zu Störungen führen kann. Vielleicht erreichst du nicht mal die gewünschte Strom-Reduzierung. Mir ist klar, was du tun willst, aber Masse trennen ist normalerweise der falsche Weg. Aber vielleicht macht ja deine Schaltung da eine Ausnahme!

  • BQ27441 abschalten möglich?

    Mitch64 - - Elektronik

    Post

    Im Prinzip kann man jede angeschlossene Peripherie ganz abschalten. Aber so wie du das machst (Masse trennen), wird das nicht funktionieren. Es könnte unvorhergesehene Folgen haben. Normalerweise trennt man eher die Spannungszufuhr als die Masse. Man muss dann aber prüfen, wie die anderen Signale dadurch beeinträchtigt werden können, wenn man abschaltet. In deinem Fall ist unbekannt, ob das der einzuge Baustein am I2C-Bus ist. Wenn ja, musst du vielleicht den Bus auch abschalten. Wenn nicht, vie…

  • Soweit ich weiß, werden beim DMX permanent Daten gesendet. Du könntest also einen Timeout verwendet, der immer wieder zurückgesetzt wird, wenn Daten ankommen. Je nachdem, wie dein Programm gestrickt ist, geht das vielleicht auch direkt im URXC-Interrupt. Dazu müsste man erst mal sehen, was du bisher zusammengebastelt hast.

  • RC5 auswerten

    Mitch64 - - Hauptforum BASCOM-AVR

    Post

    Hallo @Picard Deine Beschreibung ist etwas wage. Kannst du mal zeigen wie du es jetzt machst? Aber grundsätzlich klingt das mit der Taste mal nach Debounce (Tastenentprellen mit Verriegelung wenn man drauf bleibt, ohne das Programm zu blockieren). Und wohin gesprungen wird hängt vom Zustand deines Programms ab. Vielleicht schaust du dir mal dieses Projekt an. Da wird genau das gemacht. Allerdings nicht mit RC5.

  • LCD-Display

    Mitch64 - - Themen am Rande

    Post

    Gern geschehen. Ich empfehle dir mal in der Hilfe von Bascom, insbesondere die Fundamentalen Dinge anzuschauen. Und hier stehen die Dinge bezüglich Dim. Eine Frage an dich. Du sprichst von Merker? Ich kenne den Begriff nur von SPS her. In Bascom gibt es sowas nicht. Ich vermute du meinst eine Variable vom Typ String? Wie kommst du auf Merker?

  • LCD-Display

    Mitch64 - - Themen am Rande

    Post

    Hallo Du hast mit "Dim a as Byte" eine Variable mit Name "A" vom Typ Byte (Zahlen von 0 bis 255) definiert. Du kannst daher nicht schreiben: A="Beispiel" Weil Beispiel in Anführungszeichen ein String-Literal (Text) ist. Bascom versucht die Zuweisung dennoch und weist nur den 1. Buchstaben zu. Das ist Ascii 66. Du kannst schreiben A=12 A=100 A=255 A=&hFF A=&b10101100 A=4+3 A=4*4 usw. aber kein Text zuweisen. Wenn du schreibst LDR "Beispiel" ist "Beispiel" wieder ein String-Literal. Also Text. Aus…

  • hallo @Ghostrider1911 Anmerkungen/Vorschläge von meiner Seite. 1. Vorschlag Du könntest die Anzeige auf die Breite für die Uhrzeit auslegen und im Betrieb die Anzeige wechseln. Also z.B. 5s die Zeit anzeigen, dann 1s Temperatur, dann 1s Feuchte, dann wieder alles von vorne. Damit könntest du Module sparen und damit auch Strom. 2. Vorschlag. Ist ein Projekt halb fertig, fallen einem oft noch Dinge ein, die man noch gerne eingebaut hätte. Vielleicht willst du die maximale Helligkeit ja z.B. einste…

  • @jepe Übrigens schreibst du in deinem Programm (Datenlogger) öfter BASCOM Source Code (1 line) Um künftig keine Überraschungen mit deinem Code zu erleben (z.B. nach einem Update von Bascom), empfehle ich dir, den Aufruf der Sub korrekt auszuführen. Entweder BASCOM Source Code (1 line) oder nur den Namen der Sub aufrufen BASCOM Source Code (1 line) anzugeben. Achte auch auf korrekte Definition und Deklaration der Sub. Wenn keine Parameter notwendig sind, muss eine leere Klammer angegeben werden. …

  • Ich hätte jetzt einen Fehler in Bascom vermutet. Ich habe Mark angeschrieben wegen dem Problem. Er meint, man müsse in dem Kopf der Sub / Funktion beim deklarieren die Stringlänge mit angeben. Also etwa so: Declare Sub CopyBegin() ' Initialisierung vor dem Beschreiben des Buffers Declare Sub CopyEnd() ' Beendes das Beschreiben des Buffers, Checksum-Berechnung Declare Sub CopyByte(ByVal Source as Byte) ' kopiert ein Byte in den Buffer Declare Sub CopyWord(ByVal Source as Word) ' kopiert Word in d…

  • Ich hab mir den Code jetzt mal angeschaut. Das Problem tritt wohl auf mit dem Aufruf von CopyStringNull(Text). Innerhalb der Routine wird die Stringlenge mit len ermittelt. Genau diese Function überschreibt den Speicher, wo der Text steht. Ich habe probiert, die lokale Variable tlen als Integer zu dimensionieren, der Effekt bleibt. Bascom überschreibt aus mir nicht ersichtlichen Gründen den Speicher, wo der Text steht. Im Simulator kann man das schön sehen, wenn man sich die lokalen Variablen an…

  • Hi Jepe ich bin schon ein paar Tage nicht mehr drin in der Materie. Um die Fehlersuche etwas zu vereinfachen, solltest du mir sagen wo genau im Programm das kopieren nicht funktioniert. Also wo (Zeilen-Nr) steht der String der zu kopieren ist und was rufst du wo (Zeile) auf, um den in den Buffer zu kopieren. Kannst du mir die Zeilen-Nummern nennen?

  • BASCOM 2.08.2 zum x.

    Mitch64 - - Hauptforum BASCOM-AVR

    Post

    Quote from Thomas120: “Ich habe festgestellt das das Terminalfenster unbedingt den Focus haben muss. Sonst zeigt das nix an. ” Stimmt. Es gibt aber eine Option zum Einschalten, damit der Fokus auf dem Terminal bleibt, auch wenn das Fenster nicht das aktive ist. Die Option heißt: "Keep Terminal emulatior open" (Wenn Sprache Deutsch eingestellt ist ) (Bei anderen Spracheinstellungen selber nachdenken!) Und die Option findest du unter Optionen -> Communication. Das Fenster kann glaube ich auch beim…

  • Ich kann den C-Code lesen, und verstehe was da passiert. Wir sind hier aber eigentlich im Bascom-Forum. Aber ich möchte dir trotzdem folgenden Hinweis geben. Ich würde mal drauf tippen, dass - entweder die berechneten ADC-Werte (Tabelleninhalt) nicht mit deiner Sensor-Beschaltung korrelliert, - oder die Berechnung in Zeile 44 nicht stimmt. Die Interpolation der 2 Punke ist für mich nicht nachvollziehbar. Wie sind denn deine C-Kenntnisse?

  • Ich würde sagen, das ist völlig korrekt so. Denn intern wird der Funktion beim Aufruf ein Pointer auf die Ergebnis-Variable, in deinem Fall Variable W (Word), übergeben. Deine Function soll genau 1 Byte zurück geben, so ist ja die Function definiert. Und das schreibt sie dann an den Pointer - und zwar genau 1 Byte. Da Variablen im Speicher im Format Lowbyte-Highbyte abgelegt sind, betrifft es nur das Lowbyte in der Variable W (Word). Würdest du W als Long definieren, würde nur das Byte im Low-Wo…

  • Hallo @jepe Ich habe mal geschaut, wie das funktionieren könnte, wenn man im seriellen Binärmodus bleibt. Natürlich kommt man da um das Kopieren der Daten in den Buffer nicht herum. Grund ist die Datenbyte Daten-Länge im Frame, welches in die Checksumme einfließt. Bascom schränkt einen da auch ein, indem es z.B. die Checksummen-Berechnung nicht für ein Array unterstützt. Die Berechnung hört dann auf, wenn in dem Array ein 0-Bytes vorkommt. Also nicht so ganz easy. Auch die Werte in den Buffer br…

  • Du könntest noch die Baudrate vom Display erhöhen. Lt deinem Programm auf der Website hast du da 19200 Baud eingestellt. Es geht ja noch um den DatenloggerV2?

  • Sorry, ist mir im Nachhinein auch aufgefallen. Aber ich habe vielleicht des Rätsels Lösung. Du sendest Befehle im Binärmodus, wenn du für Escape $1B verwendest. Siehe Datenblatt Seite 12. Wenn du anstelle 1B das Zeichen # verwendest, sendest du im Ascii-Mode. Bedeutet, dass du keine 0 mehr in den String bauen musst. Stattdessen schreibst du dezimale Zahlen mit Komma getrennt. Wenn das Display nicht so teuer wäre, würde ich mir glatt auch eins kaufen. Ist nicht schlecht!

  • Quote from jepe: “Buffer = Chr(27) + "ZL" + Chr(1) + Chr(0) + Chr(220) + Chr(0) + "Font7x12.1---------2---------3---------4---------5" + Chr(13) ” Wenn du sowas schreibst (beachte die Chr(0)), dann müssten die die 0-Bytes auch in dem String vorliegen. Nur wenn du dann mit Len(Buffer) die Länge ermittelst, wird es nicht funktionieren. Grund ist, dass die Funktion die Bytes zählt, bis es auf das 0-Byte trifft. Wenn du aber am Ende des erzeugten Buffer-Strings noch z.B. ein Chr(255) als Stringende-…

  • Da du die Daten seriell ausgibst (ich nehme jetzt mal Hardware UART an), kannst du auch den SerialOut-Buffer verwenden. Dann schreibst du einfach Print "Aus" Printbin 0 das würde deinen String "Aus" zunächst ohne CHR(0) in den Sendebuffer verfrachten. Danach einbach per PrintBin eine 0 nachschieben. Da du aber eine Checksumme brauchst, musst du vorher die Werte berechnen oder einen anderen Weg gehen. Dieser wäre z.B. eine Routine schreiben, die deinen String in ein Array kopiert samt der abschli…