Gefunden für bascom select case - Zum Elektronik Forum |
| 1 - Ein Laie hat ein DSO138 Mini Oszilloskop gekauft, was nun? -- Ein Laie hat ein DSO138 Mini Oszilloskop gekauft, was nun? | |||
| |||
| 2 - Spannungswächter aus Resten ;-) -- Spannungswächter aus Resten ;-) | |||
| Morjen,
Zitat : BlackLight hat am 17 Dez 2021 11:00 geschrieben : Ja, das war auch mein erster Vorschlag, aber evtl. nicht offensichtlich genug. das habe ich tatsächlich aus Deinem geschriebenen nicht erkannt, bestätigt dann ja mein Vorhaben den AKKU mit einem ATtiny85 zu überwachen. Ein Test-Programm mit Ausgabe auf ein 16*2 Display ist fertig und hat nur ein paar Zeilen: Code : | |||
3 - Displaymenü mit Bascom -- Displaymenü mit Bascom | |||
| Hi,
ich baue mir gerade unter Bascom ein Menü auf einem alphanumerischen 4*20-Display zusammen. Die Encoderauswertung habe ich schon hinbekommen, die Temperaturmessung mit NTCs funktioniert auch wie sie soll. Jetzt habe ich allerdings das Problem, dass Bascom anscheinend viel zu viel Zeit mit dem Case Select verbraucht, da ich nur noch durch das Menü scrollen kann, wenn ich ganz langsam am Encoder drehe. Ansonsten gehen die Variablenänderungen einfach verloren. Ja, ich weiß, mit C ließe sich das bestimmt gaanz einfach lösen... Da blicke ich aber nicht durch, außerdem soll das Projekt in den nächsten _Monaten_ fertig werden
Außerdem habe ich hier ne Vollversion und die möchte ich auch ausschöpfen
Kennt jemand ne bessere Möglichkeit? Code : | |||
| 4 - Variable+Wertebereich = Problem -- Variable+Wertebereich = Problem | |||
| Kommt drauf an, gibt viele Möglichkeiten:
Du hast 256 versch. Kombinationsmöglichkeiten. Wieviele "Treppenstuffen" sollen denn vorhanden sein? Wenn jeweils nur beim übernächsten Wert geschaltet werden soll, oder beim vierten, achten, etc. oder allgemein beim Vielfachen von 2^n, dann teilst du durch n (n mal alle Bits nach rechts schieben) und gibts das ganze auf ein Select-Case-Konstrukt: dim i as byte i = ADC i = i / 4 select case i case 0: ... case 1: .... end select Du kannst auch, wenn genügend SRAM vorhanden ist und die Treppe nicht linear ist, ein Array mit Anzahl Indizes wie möglichen ADC-Werten anlegen, zu Anfang dann manuell das Array füllen und dann sagen: dim i as byte i=ADC PWM = tab[i] EditIn Basic greift man auf Arrays mit normalen Klammern zu, das hier war C. Es müsste heißen: PWM = tab(i) Etwas effizienter ginge das weniger abstrakt direkt im Flashrom mit Tabellen, also quasi das gleiche wie mit Arrays, nur SRAM-schonender. Nur wie das in Bascom geht - keine Ahnung. Edit: Ha! Ich bin sowas von Blondine... Meine Haare sind fast so lang, dass sie zum Bauchnabel reichen ... | |||
| 5 - Problem mit dem LCD Programm -- Problem mit dem LCD Programm | |||
sorry für die Rechtschreibfehler.
Ich bin noch Anfänger in Bascom könntest du mir die Select Case Funktion anhand eines Beispieles erklären ??? ... | |||
| 6 - Serieller Empfänger mit AVR + BASCOM -- Serieller Empfänger mit AVR + BASCOM | |||
| hi
danke für den schaltplan. nun bin ich schon etwas weiter. allerdings steige ich in der bascom hilfe nicht so ganz durch. ich weiß nicht nach was ich suchen muss. könntest du mir bitte einen TIP geben??? Majuz EDIT: habe gerade ein programm auf www.rowalt.de gefunden das mir helfen könnte: '004.BAS: UART-Empfänger ohne Interrupt 'Hardware: MAX232 an PD0/PD1, Nullmodemkabel zum PC '--------------------------------------------------- $Regfile = "2313def.dat" 'AT90S2313-Deklarationen $Crystal = 3686400 'Quarz: 3.6864 MHz $Baud = 9600 'Baudrate der UART: 9600 Baud Dim i As Byte Do If USR.RXC = 1 Then 'Wenn Byte empfangen... i = UDR 'Byte aus UART auslesen Select Case i Case "H" Print "Hallo AVR" Case "h" Print "hallo avr" Case Else Print "Unbekannter Befehl" ... |
|
Zum Ersatzteileshop Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation! gerechnet auf die letzten 30 Tage haben wir 7 Beiträge im Durchschnitt pro Tag heute wurden bisher 0 Beiträge verfasst 18 Besucher in den letzten 60 Sekunden alle 3.33 Sekunden ein neuer Besucher ---- logout ----su ---- logout ---- |