PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 2 einfache Fragen (Prot definieren;Start/Stopp)



RCO
21.09.2004, 20:43
Also:
1. Wie definiere ich einen Port, und setze 1 bzw. 0
2. Gibt es eine Möglichkeit, den Controller anzuhalten, sowas wie ne stopp und start taste, oder kann man nur stecker raus und reseten?

Ich denke, dass sind wirklich einfache Fragen.

MFg Moritz

x-ryder
21.09.2004, 21:25
Hi

1.

config portx=output
portx=&B00000001
d.h. portx.0=1

2. ich soll das ne bestimmte funktion haben?

ansonsten endlosschleife:

do
loop

Martin

RCO
21.09.2004, 21:40
Danke für die Antwort.
Also ich dachte an ein Hardware start/stop, also einen Taster oder so.
Nochmal zur 1. Frage, also ich habe ien Schaltung, nach dem Bild unten aufgebaut, und will jetzt die Diode leuchten lassen. aber wenn ich sage


Config Portb.0 = Output
Portb.0 = 0
End

erfolgt immer eine Fehlermeldung. Helft mir [-o<

Michael
21.09.2004, 22:03
Hallo RCO,
es muß heißen:
Config Portb = Output
mit dem Befehl kannst du aber nur den ganzen Port konfigurieren.
besser:
DDRB = &B00000001
wobei 0 für Eingang und 1 für Ausgang steht. LSB ist rechts.
Gruß, Michael

recycle
22.09.2004, 01:54
2. Gibt es eine Möglichkeit, den Controller anzuhalten, sowas wie ne stopp und start taste, oder kann man nur stecker raus und reseten?
.....
.....
Also ich dachte an ein Hardware start/stop, also einen Taster oder so.

Ob es dafür einen Taster gibt oder nicht, liegt wohl, in erster Linie an dir selbst.
Du brauchst doch nur einen Taster anschliessen und kannst dir deinen Start-, Pause-, Stopp-, Neustart- Funktionen oder was auch immer beliebig programmieren.
Viele Controller haben auch noch diverse Energiespar- und Sleep Funktionen. Die richtig einzusetzten ist aber etwas komplizierter.

"Stecker raus" zum resetten muss auch nicht unbedingt sein. Das könnte man auch mit einem Taster am Reset-Pin lösen.

RCO
22.09.2004, 10:48
Also mein erstes Tstprogramm läuft \:D/


'Blink LED Testprogramm Version 1
Config Portb = Output 'Port B als Ausgang definieren

Do 'Beginn der Endlosschleife
Portb.0 = 0 'Port auf 0 setzen = LED leuchtet
Wait 1 'Eine Sekunde warten
Portb.0 = 1 'Port auf 1 setzen = LED erlischt
Wait 1 'Wieder eine Sekunde warten
Loop 'Ende der Endlosschleife

Hab ich auf irgendner Seite gefunden.
Das klappt auch wunderbar:
DDRB = &B00000001

Eine neue Frage habe ich aber jetzt:
Ist es ein Problem, wenn man ständig den Chip neu beschreibt, weil ich jatzt nur zum austeste schon bestimmt 8 mal geschrieben habe.
Oder sollte man möglichst alles erstmal mit dem Simulator machen?

UNd jetzt nochmal zum Hardware start/stopp:
Also ich bin sowas halt von C-control gewohnt, und fand es eigentlich ganz gut, damit der Roboter beim anlegen der Spannung nnicht direkt wegrennt.

Gibt es nicht ne möglichkeit einen Port zu benennen?
Also z.B:
define Portb.0 = out1, oder so.
Ja ich weiß, dass Portb.0 nicht funktioniert.

MFG Moritz

Michael
22.09.2004, 10:59
Hallo RCO,


Ist es ein Problem, wenn man ständig den Chip neu beschreibt

Ich habe schon mal einen totgeschrieben, nach ca. 1000 Programmierungen dauerte es immer länger, bzw. gab es immer öfter Abbrüche und Fehler beim Schreiben. Aber so teuer ist so ein Chip nun auch wieder nicht.


nnicht direkt wegrennt.

programmier dir doch einen Taster dafür:


Anfang:
If Pina.4 = 0 Then
Bitwait Pina.4 , Set
Goto Main
Else
Goto Anfang
End If
Main:



möglichkeit einen Port zu benennen

ja klar:
Out1 Alias Portb.0
oder:
Taster1 Alias Pinb.1
Gruß, Michael

RCO
22.09.2004, 11:16
Danke, dass hilft mir weiter, aber zu deinem COde noch 2 Fragen:
Was meint diese Anweisung?
'Bitwait Pina.4 , Set '
UNd, und das hab ich schon so oft gelesen
'End If'

MFg Moritz

Michael
22.09.2004, 11:20
Hallo RCO,
das meinst du nicht ernst?
Am besten du markierst das entsprechende Wort in Bascom und drückst dann die F1-Taste. Das ist die übliche Vorgehensweise...
Und "End If" ist wohl auch klar? Es beendet die If-Anweisung.
Gruß, Michael

RCO
22.09.2004, 12:41
:oops: OK habs gefunden :oops:

22.09.2004, 13:44
Man merkt RCO hat lange mit der C-Control gearbeitet. Das C-Controll Basic kennt tatsächlich noch keinen "END IF" Befehl

Rama-k
01.12.2004, 16:39
Hallo,

wie programmiere ich den Starttaster bei der RN-Control, dass mein Lauflicht startet wenn ich ihn drücke?
Ich habe folgendes probiert:
$regfile = "M32def.dat"
$baud = 9600
$crystal = 16000000

Config Pina.7 = Input

Anfang:
If Pina.7 = 0 Then
Bitwait Pina.7 , Set
Goto Main
Else
Goto Anfang
End If
Main:

Do
Ddrc = &B00000001
Waitms 500
Ddrc = &B00000010
Waitms 500
Ddrc = &B00000100
Waitms 500
Ddrc = &B00001000
Waitms 500
Ddrc = &B00010000
Waitms 500
Ddrc = &B00100000
Waitms 500
Ddrc = &B01000000
Waitms 500
Ddrc = &B10000000
Waitms 500
Ddrc = &B01000000
Waitms 500
Ddrc = &B00100000
Waitms 500
Ddrc = &B00010000
Waitms 500
Ddrc = &B00001000
Waitms 500
Ddrc = &B00000100
Waitms 500
Ddrc = &B00000010
Waitms 500
Ddrc = &B00000001
Waitms 500
Loop

erfolglos.

Bin absoluter Newby im Thema programmieren!


mfG Rama-k