Nummer in Variable hochzählen

Gast #2860263
Lesenswert?

erstmal danke für die Antworten.
@muhdow:

doch es gibt alle variablen. Also zum Bsp:

AN1, AN2... AN15 und ich will nun alle ports also AN1 bis AN15 
nacheinander an und auschalten. Dabei soll aber einfach die zahl hoch 
gezählt werden.
Moderator (Firma: Titel) Persönliche Seite #2860276
Lesenswert?

Gixxer schrieb:
> AN1, AN2... AN15 und ich will nun aller pots also AN1 bis AN15
> nacheinander an und auschalten
Geht so nicht, weil AN1 (vermutlich eher AN0) bis AN15 feste Namen 
sind. Da könnte grad so gut dastehen: ANeins, ANzwei ... ANfuffzehn, 
wenn die Namen so definiert worden wären.

> ich will nun aller pots also AN1 bis AN15 nacheinander an und auschalten
ANxx deutet auf Analogeingänge hin. Was willst du da umschalten?
Gast #2860305
Lesenswert?

die Ports sollen einfach nur ein kabel auf durchgang prüfen,also einfach 
nur AN1=1 und dann if IN1=1 then print, "gut" oder so ähnlich... und 
schön wäre noch gleichzeitig zu prüfen ob alle andern 0 sind, um zu 
sehen das kein kurzschluss im kabel ist.
#2860307
Lesenswert?

>>also z.B aus Test1 innerhalb einer schleife Test2 zu machen, sodass der
>>controller dann auch den gewünschten port schaltet?

Was hat denn die Variable mit dem Port zu tun? bzw. wie hängt das 
zuammen?

Bitte mal genauer erklären:

Wieviel bit haben die Variablen.

Was meinst du mir "port" schalten, alle pins einschalten, oder 
ausschalten, oder einen Wert aus der Variablen an den Port legen...oder 
oder oder?


DS
Gast #2860329
Lesenswert?

Es fehlt der Hinweis auf ein C-Buch.

Hier ist er:

Hinweis, C-Buch lesen und C lernen.

Du willst verschiedene Testmuster auf die Ports ausgeben, oder? Die 
Aufgabenstellung ist etwas weich beschrieben. Faß sie mal konkreter und 
schon wird klar, was zu tun ist.
Gast #2860362
Lesenswert?

ok, also dann nochmal ganz genau:

es gibt ein Kabel, von mir aus 5 polig. Jede Ader des Kabels ist auf der 
einen seite mit einem port, zb. A0 bis A5 eines controllers verbunden. 
am anderen Ende des Kabels ist wiederrum jede Ader mit einem port des 
Controllers verbunden, z.B. B0 bis B5.
wenn ich jetzt A0 =1 setze muss auch B0 auf high liegen, aber B1 bis B5 
nicht.
im Programm soll nur von A0 bis A5 gezählt werden, indem mal halt nur 
den Alias des entsprechenden Ports verändert
#2860375
Lesenswert?

Gixxer

die Hilfe wird nur so gut wie deine Beschreibung des Problems.

Fällt es denn so schwer auf Fragen zu antworten?

Was haben die Variablen mit dem Port zu tun?
mit welchem Port?
Was ist mit "schalten" 
gemeint????????????????????????????????????????????????????????????????? 
???????????????????????????????????????????????????????????????????????? 
????????????????????????

DS
Gast #2860379
Lesenswert?

Nein,

Du gibst auf Port A 00001 aus, schaust, was an Port B ankommt
dann gibst Du 00010 aus,
dann 00100
dann 01000
dann 10000


Immer auf Port A, was sonst?

Du kannst auch beliebige Werte ausgeben, sie müssen halt an Port B 
zurückkommen.

z.B. 010101  auf A ausgegeben, ergibt 010101 auf Port B, wenn das Kabel 
in Ornung ist.
#2860388
Lesenswert?

Gixxer schrieb:
> es gibt ein Kabel, von mir aus 5 polig. Jede Ader des Kabels ist auf der
> einen seite mit einem port, zb. A0 bis A5 eines controllers verbunden.
> am anderen Ende des Kabels ist wiederrum jede Ader mit einem port des
> Controllers verbunden, z.B. B0 bis B5.
> wenn ich jetzt A0 =1 setze muss auch B0 auf high liegen, aber B1 bis B5
> nicht.
> im Programm soll nur von A0 bis A5 gezählt werden, indem mal halt nur
> den Alias des entsprechenden Ports verändert

Das funktioniert aber so nicht.
In deinem Fall kommst du mit den von dir eingeführten Pinnamen nicht 
mehr weiter.
Anstelle der Namen A0, A1, ... die du als Alias definiert hast, hättest 
du die Aliasnamen ja auch als "Herbert", "Fritzi" und "Doris" nehmen 
können.


Variablennamen stehen nur für dich als Programmierer zur Verfügung. Im 
Programm welches dann auf dem µC läuft existeren sie nicht mehr.


Eine Möglichkeit ist es, dass du dich von den Alias trennst und den Port 
als ganzes ansprichst. Geht ja in BASCOM genauso.
#2860478
Lesenswert?

Hi,

Du brauchst das gar nicht mit den PortPins, auch shiften muß nicht sein.
Sprich die Ports einfach komplett an.
Die Differenz aus PortA und PortB ist Dein Fehlermuster oder eben 0 wenn 
alles ok ist.

Ddra = &hFF   'Output
Portb = &hFF  'Pullups

Dim Diff as Byte

Diff = Pinb   'Porta ist alles null, was an Pinb jetzt 1 ist, hat keine 
Verbindung. Da du Diff auswerten willst geht das nicht per Alias

Einfacher geht es wohl nicht.

Edit: Stellt sich die Frage, ob PortA noch was anderes machen soll. Wenn 
nicht, vergiss PortA und leg das Ende vom Kabel einfach auf Masse.

Gruß,
Norbert

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren