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.

  • Quote from Pluto25: “Quote from Mitch64: “in Basic was machen will, muss man vorher die Register sichern ” wozu ? Sie wurden gesichert, werden in der Isr nicht mehr benötigt und wiederhergestellt nach dem Return aus dem serial0Bytematch ” Darum: Siehe Bascom-Hilfe (Außerdem habe ich es oben schon 2x erklärt.) The optional BYTEMATCH can be used to monitor the incoming data bytes and call a label when the specified data is found. This label is a fixed label as mentioned in the table above. The lab…

  • Quote from Pluto25: “@mitch wäre ein Bytematch nosave möglich? Hier sichert er die Register und weigert sich ein nosave zu akzeptieren. ” Bei Bytematch wird die Routine direkt aus der ISR (von MCS.lib) as angesprugnen. Das ist mit Nosave dahingehend vergleichbar, weil keine register gesichert sind. Wenn man in der Routine serial0Bytematch, die ja von der ISR aufgerufen wird, in Basic was machen will, muss man vorher die Register sichern und danach wieder herstellen. Aber das funktioniert dann tr…

  • Quote from Pac-Man: “'##################################### Serielle Kommunikation #################################### 'Achtung!!!! Die Gegenseite darf nur CR anhängen!!!!! Serial0charmatch: Led_4 = 1 Dim Incoming_data As String * 30 Input Incoming_data Noecho 'Daten vom Buffer auslesen, Print #2 , Incoming_data Return ” Ist so deine Empfangsroutine? Ist es nicht so, dass bei einem Char-Match beim Empfang das Label Serial0CharMatch von Maschinensprache her aufgerufen wird? Da kann man nicht ein…

  • Problem mit Lib

    Mitch64 - - Hauptforum BASCOM-AVR

    Post

    Ich bemerke, dass du dir viel Mühe machst Bascom zu verteidigen. Und es ging im Grunde darum, dass $External in der Lib ganz links stehen muss, sonst funktioniert es nicht. Das hat mich einiges an Zeit gekostet, den Fehler zu finden. Und das steht definitiv nicht explizit in der Hilfe. Labels müssen auch nicht links beginnen, habe ich festgestellt. Warum also $External (so dachte ich). Ich habe außerdem nicht gemeckert, sondern festgestellt. Ich will hier aber nicht streiten. Wäre ich Entwickler…

  • Problem mit Lib

    Mitch64 - - Hauptforum BASCOM-AVR

    Post

    Quote from Pluto25: “Vermutlich gar nicht. ” Doch das geht. Nur weil es eben nicht dokumentiert ist, weiß das keiner. Variablen sind im allgemeinen global (außer die locale in Subs). Quote from Pluto25: “Beim Config sehe ich schwarz. ” Da haste vermutlich recht. Ein Stückweit kann man was in dem *.kfr-File machen (richtig geschrieben)? Ich denke, wie mal bekannt ist, was man alles in einem Lib machen kann, würde es viel mehr Leute geben, die sich mit Libs beschäftigen. Mit dem Ergebnis, dass man…

  • Problem mit Lib

    Mitch64 - - Hauptforum BASCOM-AVR

    Post

    Quote from Pluto25: “Vermutlich compiliert er nur die Mnemonics in Obj -Codes. Allein unbekannte/falsch geschriebene reklamiert er. ” Das glaube ich auch. Quote from Pluto25: “Das funktioniert auch lib übergreifend ” Dem stimme ich auch zu. Aber ich hätte wenigstens eine Syntax-Prüfung der $External-Anweisung erwartet, entweder mit dem Lib-Compiler oder dem normalen Compiler. Offensichtlich wird die Anweisung vom Lexer/Scanner/Tokenizer (egal welcher Compiler) nicht erkannt, weil sie nicht am Ze…

  • Problem mit Lib

    Mitch64 - - Hauptforum BASCOM-AVR

    Post

    Du merkst es ja selber, dass es in Hinblick auf Lib-Erstellung viele offene Fragen gibt. Offiziell ist so gut wie nix Dokumentiert. Außer der Zugriff auf die Parameter, die von Bascom übergeben werden, also mit Declare Sub/Function angegeben sind mit einem kleinen Lib-Beispiel. Die ganzen Internas sind offiziell nicht dokumentiert. Zumindest nicht in der Bascom-Hilfe. Im Netz findet man auch nur wenig bis nix. Es ist nicht beschrieben, dass die Direktive $External auch für bzw. innerhalb von Lib…

  • Problem mit Lib

    Mitch64 - - Hauptforum BASCOM-AVR

    Post

    Quote from Pluto25: “Auch vor der [ darf kein Leerzeichen sein. ” Das habe ich mir schon gedacht. OK, Problem gelöst. Danke für die Hilfe!

  • Uhr geht nach

    Mitch64 - - Hauptforum BASCOM-AVR

    Post

    Quote from Oldie: “das 1Hz Signal ist genau ic 4521 Quarz 4,194304MHz ” Wenn der Takt genau 1Hz hat, müsste die Uhr ja genau laufen. Außer: In deiner Hauptschleife ist ein logischer Fehler beim verrechnen der Sekunden in die Uhrzeit. Ich würde an deiner Stelle in der ISR ein Flag setzen und das in der Hauptschleife abfragen. Und dann in der Hauptschleife dann bei gesetztem Flag die Uhr nachstellen und das Flag wieder löschen. So wird die Uhr immer nur dann (nach-)gestellt, wenn eine Sekunde vers…

  • Uhr geht nach

    Mitch64 - - Hauptforum BASCOM-AVR

    Post

    Quote from Oldie: “On Int0 Clock 'Uhr Config Int0 = Rising 'steigende Flanke ” Als Sekundentakt verwendest du ja ein externes Signal am INT0-Eingang. Vermutlich ist das ungenau. Oder woher kommt das Signal?

  • Problem mit Lib

    Mitch64 - - Hauptforum BASCOM-AVR

    Post

    Die Groß-Kleinschreibung kat keine Auswirkung. Das habe ich eben ausprobiert. Und ein Space nach der eckigen Klammer zu ist bei mir auch nicht in der Lib. Zum Nachvollziehen hier also nochmal der gesamte Code im Angang. Übrigens das $External ist in der Lib (Anhang) nicht mehr groß geschrieben. Ich habe aber jetzt den Fehler gefunden. Vor den $External darf kein Space sein, es muss also ganz links stehen. Dann funktioniert es auch kleingeschrieben. Kannst du das bestätigen?

  • Problem mit Lib

    Mitch64 - - Hauptforum BASCOM-AVR

    Post

    Es spielt doch keine Rolle ob und wo es eine Liste gibt und Sonderfall hin oder her. Es bleibt die Frage: - Was macht die Compiler-Anweisung $External <name> in der Lib? - Welche Wirkung soll die Anweisung auf das Kompilat haben?

  • Problem mit Lib

    Mitch64 - - Hauptforum BASCOM-AVR

    Post

    Schau dir mal die Lib "bigstrings.lib" an. Im Speziellen die Routine [_COPYMIDSTRING] und [_COPYSTRING]. Die erste [_COPYMIDSTRING] ruft die externe Routine [_COPYSTRING] (in der gleichen Lib) auf. Da ist auch $EXTERNAL _COPYSTRING in der [_COPYMIDSTRING] angegeben. Ich verstehe das so, wenn man die routine _CopyMidString irgendwo im Code aufruft, erkennt der Compiler, dass auch noch die Routine _CopyString benötigt wird. Ohne $External würde die Routine fehlen.

  • Problem mit Lib

    Mitch64 - - Hauptforum BASCOM-AVR

    Post

    Quote from Pluto25: “Gibt es ein Beispiel mit einer Lib deren Routinen nicht schon in Bascom vorhanden sind? ” Das Beispiel siehst du im 1. Post. Quote from Pluto25: “Nimmt der Compiler nicht generell nur was nötig ist? Also auch ohne External? ” Glaub ich nicht. Wozu gibt es denn dann den $External in den Lib's, wenn man ihn nicht braucht? Quote from Pluto25: “Da fällt mir z.B. die Port_remap ein ” Diese Lib kenne ich nicht.

  • Problem mit Lib

    Mitch64 - - Hauptforum BASCOM-AVR

    Post

    Quote from Pluto25: “Es wäre ein Widerspruch wenn der Compiler gesagt bekommt "nimm nur Calcbyte" und der dann noch werweiswas anderes alles mitbringt. Da hätte ja gleich die ganze lib genommen werden können. ” Danke für deine Mühe. Ich sehe das aber anders. Schaue mal in die mcs.Lib an und suche mal nach dem (internen) Befehl _LPMByte. Den findest du in Zeile 1940. Der wird auch von verschiedenen Routinen aufgerufen. Zeile 1993, 2137, 2156, 2180 usw. Genau so etwas möchte ich in meiner Lib auch…

  • Problem mit Lib

    Mitch64 - - Hauptforum BASCOM-AVR

    Post

    Hallo Zusammen Ich habe ein Problem mit den $External Befehl, der in der Lib offensichtlich nicht wie erwartet funktioniert. Meine Lib sieht so aus: Source Code (21 lines)In Zeile 6 wird auf die Routine InternInvertByte verwiesen, die von CalcByte benötigt wird. Ich gehe davon aus, dass der Compiler jetzt diese externe Routine ebenfalls einbinden sollte. Die Routine CalcByte soll von Bascom aus aufgerufen werden. Diese ruft dann intern die Routine InternInvertByte auf. Damit sie vom Compiler gef…

  • b ^= (b & 8 ) >> 1; /* Solve bit 2 */ Das ^-Zeichen steht für xor. Solche Operatoren in Verbindung mit den =-Zeichen ist eine Kurzschreibweise. b ^= 4 wäre ausgeschieben b = b xor 4 b += 1 wäre b = B +1 b -= 1 wäre b = b -1 b *= 100 wäre b = b * 100 usw. Heißt also: b = b xor (b and 8 ) >> 1 Da wird also von b mit 8 maskiert und mit b verodert, das Ergebnis 1 Bit nach rechts geschoben und das landet dann wieder in b. Ich hab da mal für Cresta Anno 2016 diverse Routinen dafür geschrieben. Die 2 L…

  • Text seriell übertragen

    Mitch64 - - Displays

    Post

    Du kannst mit der Str-Funktion Zahlen-Variablen in String wandeln.

  • Miniatur Funkmodul, nur welches?

    Mitch64 - - Elektronik

    Post

    Jetzt wirds mir auch klar. Ich hatte das irgendwie falsch interpretiert. Aber Einen Sender, der selbstständig Nachrichten absetzt, wenn sich ein Pin ändert kenne ich jetzt auch nicht. Wie groß soll den den Distanz sein zw. Sender und Empfänger?

  • Miniatur Funkmodul, nur welches?

    Mitch64 - - Elektronik

    Post

    Quote from Stud54: “Was soll passieren? Ein Kontakt wird geschlossen, ein Funkmodul sendet, ein Empfangsmodul empfängt, ich werte das über nen Nano aus. Einzige Voraussetzung, das Sendemodul sollte 15x10mm incl Antenne nicht überschreiten, mit 3.3V laufen und auch schlafen gehen können. Alles, was ich an 2.4GHz oder Bluetooth Modulen gefunden hab war entweder zu groß, zu oversized, zu komplex oder brauchte einen angeschlossen MC. ” Irgendwie widerspricht sich das. Du willst empfangen und das mit…