C167 Starterkit Speicherbereichfrage

OP #354963
Lesenswert?

Hi,

ich will im Speicher des c167 einige Datenpaare ablegen und später
wieder auslesen können. Wie genau sollte ich das machen. Die Datenpaare
dienen mir zur Linearisierung von einer NTC Kennlinie. Wollte mir
Wiederstand bzw. die gemessene Spannung und die dazugehörigen Werte
(Rohwerte) zum Ansteuern der Lüfter. Die Lüfter werden mit PWM und
Optokoppler angesteuert.

Datenbereich sollte dann so aussehen:
(Array wäre auch nicht schlecht oder?!?)

Wertepaar 1: Spannung1 Lüfterdrehzahl1
Wertepaar 2: Spannung2 Lüfterdrehzahl2
Wertepaar 3: Spannung3 Lüfterdrehzahl3

Und dann hab ich noch eine Frage wegen der Auswertung von Tastern:

Wir haben schon Pulldownwiderstände eingeplant, die den Port bei Taster
nicht betätigt auch wirklich auf GND ziehen (4,7kOhm). Auf welche Ports
sollte ich die Taster dann jetzt verbinden? Eher DI oder AI Abfrage
dann auf 0/1  oder auf 0/???? bzw. sieht der Quellcode dafür dann so
aus:

if (P5) ...
if (P5>200) ...

Habt ihr vielleicht auch noch eine Seite mit Dokumentation und
Quellcode Beispielen auf Deutsch? Mit dem englischen Handbuch ist das
so ein Ding!

CU!
Gast #354964
Lesenswert?

Also wie genau du die Taster anbindest,hängt von der Konfiguration
ab.Viele Ports können als Push/Pull oder OpenDrain konfiguriert
werden.Lies dirdazu mal Kapitel 7 im Datenblatt durch.

Abgefragt wird das ganze dann über BITWEISE Verknüpfungen:

if(PORT5%(1<<3)
 {
//  Pin 2,Port5 is aktiv,Pins 0...15
 }

Und,JA.Ein Array zur Speicherung der Werte wäre günstig.
OP #354965
Lesenswert?

Hi,

kannst du mir das mit den Ports ansteuern noch etwas besser erklären?
Ich habe unsere Taster mit 5V inzwischen an Port2 gehängt und die LEDs
schalten bei Tasterdruck da invertiert sich aus und wieder an sobald
man loslässt. Wie muss ich jetzt die 0/1 Stellung auslesen?

P20==1 geht scheinbar ja nicht!

müsste ich da

if (PORT2%(0<<1))
{
auszuführender Code hier rein
}

schreiben?
Gast #354966
Lesenswert?

Sorry,statt PORTx% muss es natürlich PORT& (kaufmännisches UND)
heissen.Zweck des ganzen ist es rauszubekommen,ob ein bestimmtes Bit
gesetzt ist.Schau dir dazumal die Wahrheitstabellen der logisch-UND
Verknüpfung an.

Ob du eine LED direkt an einen Port dranhängen kannst,hängt davon ab
welche Ströme dieser treiben bzw. aufnehmen kann.Laut
Datenblatt(welches du dir mal anschauen solltest!) ist 10mA schon das
absolute Maximum,also besser über zb. einen Transistor schalten.Und wie
die Taster drankommen (pullup oder pulldown oder nix) hängt davon ab,wie
deine Software die Eingabeports konfiguriert.

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