Search Results

Search results 1-20 of 115.

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

  • SSD1963 Graikfunktionen

    Franz - - Displays

    Post

    Ich habe auch noch etwas weitergemacht und nun eine Sub, die ein Polygon mit beliebig vielen Kanten zeichnen kann. Es muss nicht konvex sein, aber wenn konkav, dann keine parallele Kante zur x-Achse oder eine Hinterschneidung. Das ganz Haus ohne Fenster und Tür ist dabei ein Polygon. Ist schon etwas getestet, aber noch nicht so intensiv, also vielleicht gibt es noch den einen oder anderen Fehler. BASCOM Source Code (149 lines)bascomforum.de/index.php?attac…f7fbc7d7295f7f6a1ec3b78e4

  • Double Variablen nutzen

    Franz - - Hauptforum BASCOM-AVR

    Post

    Hier geht's bei der Zuweisung an L schief, weil gleichzeitig gerechnet und gecastet wird: BASCOM Source Code (17 lines)

  • SSD1963 Graikfunktionen

    Franz - - Displays

    Post

    Hallo Jörg, ich sehe hauptsächlich zwei Anforderungen beim Füllen von Flächen: - Sicherzustellen, dass tatsächlich alle relevanten Punkte erfasst werden und - Möglichst keinen Punkt doppelt berechnenoder doppelt zu setzen, weil das unnötig Zeit kostet. Für den ersten Punkt ist es wichtig, eine einfach zu programmierende Entscheidung zu finden, welche Punkte dazugehören und welche nicht. Obwohl ein Kreis zunächst einmal recht kompliziert erscheint, ist diese Entscheidung sehr leicht umzusetzen. D…

  • Impulszählung

    Franz - - Hauptforum BASCOM-AVR

    Post

    Hallo, meinst du nicht, dass es bei so langsamen Impulsen einfacher wäre, möglichst viele Eingänge mit einem dicken Controller zu verarbeiten, anstelle der Kommunikation zwischen sehr vielen Controllern? Sehr viele Pins (ganze Ports) abfragen geht mit wenigen Takten, während die Kommunikation mit vielen Slaves wesentlich mehr Aufwand und damit Zeit beanspruchen wird. Just my two Cent.

  • Hallo zusammen, dieses Display entwickelt sich langsam zu meinem Lieblingsteil. Hauptnachteil des Pollin Moduls ist, dass es nur seriell ansprechbar ist und daher kein Lesen des RAMs erlaubt. Und da das LCD in diesem Modus immer 8-bit überschreibt, kann man nicht wirklich schön Grafiken oder ähnliches verwenden. Für reinen Text oder ein paar Linien ist es mit 40x8 Zeichen gut geeignet und auch schnell. Will man aber frei auf dem Bildschirm zeichnen, ist es wichtig, immer nur das Pixel zu ändern,…

  • Double Variablen nutzen

    Franz - - Hauptforum BASCOM-AVR

    Post

    Quote from Peer Gehrmann: “ach ne...somit kann ich in Bascom quasi gar nicht mit verschiedenen Typen rechnen? ” Natürlich kannst in Bascom mit verschiedenen Typen rechnen. Was nicht geht ist dieses temporäre Casten, wie du das in C machen kannst. In Datenblatt sehe ich für die verschiedenen Werte immer zwei Berechnungen, eine mit Floating Point und eine mit Integer. Wenn du die Floating Point Version nehmen willst, dann dimensioniere die beteiligten Variable als Double und rechne mit denen. Das …

  • Zufallszahlen

    Franz - - Hauptforum BASCOM-AVR

    Post

    Hallo Michael, ich habe nicht darüber gesprochen, dass die Reihenfolge nicht zufällig ist, das ist mir schon klar. Außer bei der 2er-Potenz als max-Wert, da sehe ich es schon als Problem, dass alle Werte immer in der gleichen Reihenfolge erzeugt werden. Mir ging es hauptsächlich darum, dass bei der Verwendung von mehreren RNDs die sich gegenseitig beeinflussen. Das Muster ist auch nur, weil man damit die Fehler sofort identifizieren kann: BASCOM Source Code (15 lines) Beim Print kannst du dir di…

  • Zufallszahlen

    Franz - - Hauptforum BASCOM-AVR

    Post

    Hallo zusammen, um das Pixelsetzen des Varitronix Displays auszuprobieren, habe ich die Werte der Pixel über RND() gesetzt. Dabei sind mir einige Besonderheiten der RND() Funktion aufgefallen: Grundsätzlich werden alle Werte generiert, solange man nur eine RND verwendet, aber RND(2^x) - ist immer absolut gleichverteilt, - alle Werte treten mit der gleichen Häufigkeit auf - erst wenn alle einmal generiert wurden, kommt der erste ein zweites Mal dran usw. - die Reihenfolge ist dabei konstant RND(g…

  • Hallo zusammen, ich habe mir auch ein paar von diesen LCDs zugelegt. Die sind ja preislich echt attraktiv. Blöd ist nur der 22Pin FFC, aber beim China-Mann bekommt man den auch. Hier mal ein Testprogramm, in diesem Fall erst einmal nur eine Helligkeit, die beiden Graustufen gehen aber auch. Ist ohne LIB, beliebige Ausgänge mit Shiftout. Und wegen Faulheit recht wenigen Kommentaren, sorry. Viel Spass damit. BASCOM Source Code (234 lines)bascomforum.de/index.php?attac…f7fbc7d7295f7f6a1ec3b78e4

  • Bei mir ist das eigentlich reproduzierbar. Solange ein File noch nicht kompiliert wurde, schaut der Compiler sich wohl die .dat noch nicht an, kann also nicht entscheiden, ob es eine Ressource gibt oder nicht. Dann steht auch im Code Explorer irgendein Controller drin. Sobald kompiliert wurde, erscheinen alle bekannten Ressourcen in ROT und der richtige Controller wird im Code Explorer gezeigt.

  • Oder du machst es in einer eigenen ISR, die jedesmal aufgerufen wird, wenn ein Zeichen empfangen wurde. Wenig Aufwand, volle Kontrolle. Da kannst du auch abbrechen, wenn das zweite Byte aus irgendeinem Grund nicht kommt. Config SerialIn ist immer dann leicht anzuwenden, wenn am Ende der Übertragung ein fest definiertes Zeichen kommt, was sonst in den Daten nicht vorkommen kann. Das geht bei Printbin Integer nicht, im Normalfall nur, wenn du Ascii Zeichen überträgst. Die dirkete Abfrage der inter…

  • Hallo Holger, das hat jetzt nichts mit HW oder SW zu tun. Und inwiefern "besser"? Ich denke, dass du hier immer den HW UART benutzt, und dort musst du jedes empfangene Zeichen verarbeiten. Das kannst du mit Config Serialin vom Compiler programmieren lassen oder du machst es selber. Wenn du Bytematch=ALL verwendest, wird bei jedem empfangenen Zeichen zunächst die Compiler generierte ISR aufgerufen, die dann wieder deine SUB aufruft. Bei Bytematch=36 wird deine SUB nur dannaufgerufen, wenn das emp…

  • Max7219 Anfängerfragen

    Franz - - Hauptforum BASCOM-AVR

    Post

    Quote from Pluto25: “Und er läuft nicht mal "vor die Wand". Eine Kunst, bedenkt man das alle Variablen gecrasht werden ” Es werden ja nicht wirklich alle überschrieben, weil bs_zaehler nur ein Byte ist und damit nur bis Ausgabetext irgendwas. Nach 255 überschreibt er dann wieder von vorne.

  • Wenn du unbedingt mit Bytematch=All arbeiten willst - wobei sich mir der Sinn nicht erschließt - dann nutze es doch immer. Wenn du dann nur auf 36 wartest, würde ich in der Sub gleich eine entsprechende Abfrage setzen. Falls kein 36 gesendet wurde, dann direkt wieder raus.

  • Max7219 Anfängerfragen

    Franz - - Hauptforum BASCOM-AVR

    Post

    Dein Ausgabetext ist viel zu lang und überschreibt dir alle Variablen hinter dem Array Bildspeicher. Verkürze den mal auf 8 Zeichen und schau mal, wie das Ergebnis dann aussieht.

  • Quote from Pluto25: “Da war was im Datenblatt mit zwei Timer synchronisieren. Fällt aber aus da der zweite nur 8 Bit hat. ” Ist doch egal. Bei den hohen Frequenzen zählt der eh nicht weiter als 255 und bei den niedrigeren müssen dann Prescaler mit rein. Quote from Pluto25: “Meine Sim zeigt immer b1 und b0,2 im Wechsel ” B.0 ist doch nur für den Richtungswechsel interessant, kannst du auch weglassen. Und B.1 und B.2 sollen ja immer abwechseln. Nur dass der bei mir den Pin im Sim nicht toggelt son…

  • Wenn man in der ISR schaltet, ist man immer abhängig vom Zeitpunkt des Aufrufs. Das kann man nur per HW verhindern. Und das Rausrechnen führt doch selber wieder zu Verzögerungen. Und ich bin mir sehr sicher, dass die Impulse des echten Drehgebers wesentlich ungleichmäßiger kommen, als der Sprung in die ISR. Um zwei um 90° phasenverschobene Signale zu erzeugen,reicht aber ein Timer nicht. Man könnte auch zwei Timer verwenden, muss diese dann aber synchronisieren, was sicherlich in diesem Fall auc…

  • Quote from Mitch64: “Nachteil ist aber, dass keine Register gesichert werden. ” Welche Register meinst du denn, die gesichert werden müssten? Quote from Mitch64: “R12 und R13 könnten, wenn Code hinzukommt wie z.B. Display, verwendet werden, und dann funktioniert das nicht mehr. ” Du meinst, du könntest nicht verhindern, dass du Floating Point Berechnungen machen musst, um den Geber zu simulieren oder das Display zu bedienen? Quote from Mitch64: “Aber mal davon abgesehen kann man ja das Jittern r…

  • Unten ist B.0 mit der Drehrichtungsumkehr. Wegen SW hast du natürlich den zusätzlichen Jitter von einem oder zwei Takten, je nachdem welcher ASM Befehl gerade noch zu ende laufen muss. Bei mir läuft das übrigens nur mit 12MHz und 500KHz ISR Frequenz. bascomforum.de/index.php?attac…f7fbc7d7295f7f6a1ec3b78e4

  • Ja, habe ich. Der Ausgang OC1A wird nicht benutzt, wie gesagt, komplett in Software, deswegen jeder Pin möglich. B.0 habe ich nur eingefügt, damit ich den Moment der Drehrichtungsumkehr finden kann. Dort gibt es natürlich ein Jitter, weil der Impuls zu kurz oder zu lang ist. FastPWM hat halt den Vorteil, dass OCR1A double buffered ist, du kannst also beliebig die Frequenz ändern, ohne dass es zu einem Riesenimpuls kommen kann.