Forum: Mikrocontroller und Digitale Elektronik Wie muß dieser einfache Code umformuliert werden?


von Microchip (Gast)


Lesenswert?

Habe folgendes Problem. In einem Basicdialekt sind nur 16 Bit(Also 
maximal 256 * 256 Werte) zugelassen. Meine Rechnung übersteigt 
regelmäßig 16 Bit:

Wie muß folgendes umformuliert werden, damit maximal Werte von 65536 
entstehen, die Formel zum Warten aber dennoch richtige Werte ergibt?

For a = 23 * 6000 To 1 Step -1
    'Etwas tun
    'Warten 10*a/138
Next a

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

In Basic gibt es doch auch den Datentyp LONG oder nicht?

von Microchip (Gast)


Lesenswert?

Nein.

von hmm? (Gast)


Lesenswert?

For a = 23 * 6000 To 1 Step -1
    'Etwas tun
     if a > maximalwert then a = dein maximalwert
    'Warten 10*a/138
Next a

von Karl H. (kbuchegg)


Lesenswert?

Hast du einen Datentyp unsigned (also ohne Vorzeichen) zur Verfügung?

10 * 6000  macht 60000.
Das passt noch in einen vorzeichenlosen 16 Bit Datentyp.

von oldy (Gast)


Lesenswert?

Was für ein Basic Programm benutzt du ?
Kann mir nicht vorstellen das du nur bis zu 65535
rechnen kannst.

von Klaus W. (mfgkw)


Lesenswert?

Entweder so:
1
For a2 = 23 To 1 Step -1
2
  For a = 6000 To 1 Step -1
3
    'Etwas tun Achtung: a hat hier einen anderen Wert!
4
5
    For a3 = 1 To 23
6
      'Warten 10*a/138
7
    Next a3
8
  Next a
9
Next a2
oder eine vernünftige Sprache nehmen.

von Microchip (Gast)


Angehängte Dateien:

Lesenswert?

Leider funktioniert es noch nicht, es wird gleich ganz hell oder 
flackert dazwischen etwas. Es handelt sich um eine Dimmerschaltung.

Zu "Welle": RA0 und RA2(Siehe vereinfachte Skizze) sind die Eingänge des 
internen Komparators. Ist RA0 > RA2 wird Welle = 1. In jeder Halbwelle 
ergibt sich also ein Rechtecksignal.

Ideen?

"Minuten" = 23
"Triac" = Triac(nicht in Skizze aufgeführt)
"Pauseus" = Pause in µs
"High" = Setze 1 / Ein
"Ein" = 1
"Aus" = 0

For Extern = Minuten To 1 Step - 1
    For WH = 1 To 6000
        Low Triac
        For Innen = 1 To Minuten
            Pauseus 10 * WH/(6*Minuten)
        Next Innen
        High Triac
        If Welle = Ein Then
            While Welle = Ein
            Wend
        EndIf
        Low Triac
        Low Led
        If Welle = Aus Then
            While Welle = Aus
            Wend
        EndIf
    Next WH
Next Extern

von Master S. (snowman)


Lesenswert?

bitte mach bilder wenn alles in rauch aufgeht, ja?! ...nee, mal im 
ernst: wenn deine schaltung so aussieht wie der schaltplan gezeichnet 
ist, dann starte vorerst ein paar gehversuche, bevor du auf den mond 
fliegen willst. bitte tu dir den gefallen und lass hochspannung sein, 
dein leben wird dir danken.

von meinereiner nur nicht reiner (Gast)


Lesenswert?

Microchip schrieb:
> es

Was ist es?
ein toastlet vielleicht?
Troll dich

von Klaus W. (mfgkw)


Lesenswert?

Für natürliche Auslese gibt es ja kaum noch ordentliche Gefahren 
heutzutage.

von Lehrmann M. (ubimbo)


Lesenswert?

Was ist das denn für ein Schaltplan ?

Microchip schrieb:
> Zu "Welle": RA0 und RA2(Siehe vereinfachte Skizze) sind die Eingänge des
> internen Komparators.

Ist falsch. RA0 ist Analogeingang und RA2 ist die Referenzspannung. Mit 
dem interenen Komperator hat das herzlich wenig zu tun.

RA3 und RA4 sind Komperatoreingänge (bei dir nicht beschaltet). Wie das 
mit der Schwellspannung ist weiss ich nicht weil das PICspezifisch ist 
und im Schaltplan der PIC nicht näher klassifiziert ist. Ansonsten 
könnte es schon der gleiche Pin (Vref) sein. Welcher PIC wird denn 
verwendet ? Ich nehme mal an, dass es ein PIC ist wegen der 
ICSP-Pin-Benennung.

von H.Joachim S. (crazyhorse)


Lesenswert?

Schon mal den Begriff "Timer" gehört"?

von Microchip (Gast)


Lesenswert?

Master Snowman schrieb:
> bitte mach bilder wenn alles in rauch aufgeht, ja?! ...nee, mal im
> ernst: wenn deine schaltung so aussieht wie der schaltplan gezeichnet
> ist, dann starte vorerst ein paar gehversuche, bevor du auf den mond
> fliegen willst. bitte tu dir den gefallen und lass hochspannung sein,
> dein leben wird dir danken.

Was redest du nur für einen Schwachsinn? In welcher Welt sind 9V 
Wechselspannung bei 200mA lebensgefährlich? Schonmal die Sicherung 
gesehen du Depp? Wahrscheinlich nicht, aber grundlos Angst machen ist 
immer gut. Gerate nur mal an jemanden, der sich nicht so gut wie ich 
auskennt.

Klaus Wachtler schrieb:
> Für natürliche Auslese gibt es ja kaum noch ordentliche Gefahren
> heutzutage.

Was willst du mir unterstellen?

Lehrmann Michael schrieb:
> Ist falsch. RA0 ist Analogeingang und RA2 ist die Referenzspannung. Mit
> dem interenen Komperator hat das herzlich wenig zu tun.

Seite 62 im Handbuch lesen und schweigen.

Lehrmann Michael schrieb:
> Welcher PIC wird denn
> verwendet ? Ich nehme mal an, dass es ein PIC ist wegen der
> ICSP-Pin-Benennung.

Ein 16F628A

H.joachim Seifert schrieb:
> Schon mal den Begriff "Timer" gehört"?

Ja.

von Klaus D. (kolisson)


Lesenswert?

>> In welcher Welt sind 9V Wechselspannung bei 200mA lebensgefährlich?


....  auf Kaskadia und dem "Villardschen Planeten "



und was willst Du jetzt eigentlich wissen ?

Gruss Klaus

p.s.

du kannst deine Parameter "kürzen" -> Mathematik
oder einfach auf 2 stck. verschachtelte For-Next verteilen und damit
ein Long simulieren

von Jochen F. (jamesy)


Lesenswert?

Microchip schrieb:
> Gerate nur mal an jemanden, der sich nicht so gut wie ich
> auskennt.
>
Dann verstehe ich nicht, warum es diesen Thread gibt ;-)

von Microchip (Gast)


Lesenswert?

Jochen Fe. schrieb:
> Dann verstehe ich nicht, warum es diesen Thread gibt ;-)

Das ist dann dein Problem ;-)

Klaus De lisson schrieb:
> du kannst deine Parameter "kürzen" -> Mathematik
> oder einfach auf 2 stck. verschachtelte For-Next verteilen und damit
> ein Long simulieren

Kannst du nicht.
Meinst du das, was unter http://toastlet.iamtoast.biz/ddd passiert ist?

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
Noch kein Account? Hier anmelden.