Archiv verlassen und diese Seite im Standarddesign anzeigen : 2 einfache Fragen (Prot definieren;Start/Stopp)
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
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
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<
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
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.
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
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
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
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
:oops: OK habs gefunden :oops:
Man merkt RCO hat lange mit der C-Control gearbeitet. Das C-Controll Basic kennt tatsächlich noch keinen "END IF" Befehl
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
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.