Nachdem ich bereits die LED's der verschiedenen Ports ansprechen und
verschiedene Spielereien anstellen kann, würde ich jetzt gerne die
Taster verwenden.
Wer kann mir ein Beispiel geben, damit ich das Prinzip dahinter
verstehe?
Wie kann ich zum Beispiel mit einem Taster von Port E die LED's des Port
C ansprechen?
DANKE!!!
Mit dem TRIS Register den Port auf Eingang setzen.
Dann mit LAT Register den Port abfragen, wo der Schalter
dran ist. Im Programm dann das LAT Register setzen wenn der
Eingang high ist, wo deine LED dran ist.
Z.B. in LATA.1 steht ob der Port A1, Null oder Eins ist.
Also ob Taster gedrückt ist oder nicht.
Lies dir das Datenblatt des µC zu den Registern durch, da
steht alles drin.
Was ist Taster0 ?
Du mußt dich schon an die Befehle des µC
halten. Du kannst natürlich sie neu definieren und
selber namen geben. Das muß aber im Programm gemacht werden.
Bei diesem Code, handelt es sich aber nicht mehr um reines C oder?
if LATE.0 = 1 then
LATC.0 = 1
end if
Ich möchte mich noch nicht zu weit von den 0815 Codes weg bewegen.
Die Beispiele werden mit installiert wenn der Compiler
installiert wird. Ja ist MBasic aber ist in C fast das selbe.
Die Befehle des µC bleiben auch in C die selben.
Leider kann ich mit
if LATE.0 = 1 then
LATC.0 = 1
end if
nichts anfangen.
In C sollte es wohl
if(LATE.0 == 1)
{
LATC.0 = 1;
}
heißen.
Das funktioniert aber so nicht.
Man liest über die LATx Register blos das zurück, was man in das
Output-Latch herein geschrieben hat. Wenn man aber die Pinzustände
einlesen möchte, dann muss man laut Datenblatt das entsprechende
PORT-Register verwenden.
Gruß Oliver
Ja richtig. Mußt um den Taster ab zu fragen,
das PORT Register nehmen. Also,
If PORTE.0 = 1 then usw.
Und du mußt die Ports auf digital setzten.
Dafür ist das Ansel Register zuständig.
Der µC ist für den Anfang auch nicht gerade einfach.
Aber schau dir die Demos mal an und mach dich
vertraut, mit dem Datenblatt. Da steht eigentlich
alles drin. Ansonsten üben üben üben.
Und wenn fragen sind, dann immer fragen.
Hier kann man auch mal vorbei schauen, da es für PIC ist.
http://pic-projekte.de/phpBB3/
if (Button(&PORTB, 0, 1, 1)) {
Wenn der Port B0 für 1ms high ist, wird
oldstate = 1;
auf 1 gesetzt.
if (oldstate && Button(&PORTB, 0, 1, 0)) {
Wenn der Port B0 auf low gesetzt wird für 1ms, dann wird
der rest ausgeführt. Also LED setzten.
Siehe dazu auch die Hilfe des Compilers. Da
steht es auch nochmal beschrieben.
Eine letzte Frage zu diesem Programm habe ich bitte noch:
Was hat folgende Code-Zeile für einen Sinn. Wenn ich diese
auskommentiere, verändert sich überhaupt nichts!?
Wenn man diesen µC startet, dann sind seine Ports
als Eingang geschaltet. Da man aber nicht immer weis,
wie die µC beim starten ihre Ports haben, setzt man sie
am Anfang eines Programm immer so wie man sie haben will.
Auch wenn es in diesm Falle nicht nötig ist. Deshalb immer
die Ports so setzen wie man sie braucht dann kann auch nix schief
gehen. Besonders wenn man es auf einen anderen µC laufen
lassen will, bekäme man dann schwierigkeiten mit dem Programm.
Da können die Ports plötzlich als Ausgang definiert beim Starten sein.
Du gibst einfach deine Frage
>Wo gibt es EASYPIC V7 zu kaufen in Deutschland?
in GOOGLE ein.
Dann landest du bei 3. angezeigten Treffer hier
Beitrag "Entwicklungsboard"
und erfährtst daß man es da
http://www.zeitech.de/PIC
kaufen kann.
Gruss