PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 2 Anfängerfragen



ThomasKopsch
14.04.2007, 09:06
Hallo,

ich habe zwei Anfängerfragen:

1. Wie kann man in Bascom den Controller per Softwar resetten, bzw. das Programm neustarten?
Also, dass man z.B. auf einen Taster drückt, um das Programm neu zu starten, der an einem normalen Pin gehängt ist und keine Verbindung zwischen dem Reset-Pin und GND schafft.

2. Wie kann man ein "Klicken" mit einem Taster feststellen?

Ich habe folgendes Programm gemacht:



$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 1000000

Config Portc.0 = Output
Config Portc.1 = Output
Config Pina.7 = Input
Porta.7 = 1
Portc.0 = 1
Portc.1 = 1


Do
Portc.0 = 1
Portc.1 = 1
Loop Until Pina.7 = 0


Do
Portc.0 = 0
Portc.1 = 1
Loop Until Pina.7 = 0


Do
Portc.0 = 1
Portc.1 = 0
Loop Until Pina.7 = 0

Do
Portc.0 = 0
Portc.1 = 0

Loop Until Pina.7 = 0


Der Zweck soll eigentlich nur sein, dass die beiden LEDs, die an den Ausgängen sind, pro Klick binär 1 dazurechnen.
Das geht aber natürlich nicht, weil nach dem erstem Klick schon alle Schleifen bis zu der letzten durchgelaufen sind.
Jetzt könnte man dazwischen natürlich auch jeweilse Zeitintervalle machen, das möchte ich aber nicht, weil der Controller dann ja nciht zwischen zwei kurzen schnellhintereinaderfolgenden und einem langem Klick unterscheiden kann.

Ratber
14.04.2007, 10:26
1. Wie kann man in Bascom den Controller per Softwar resetten, bzw. das Programm neustarten?

Siehe Watchdog



2. Wie kann man ein "Klicken" mit einem Taster feststellen?

Siehe Debounce




..........weil der Controller dann ja nciht zwischen zwei kurzen schnellhintereinaderfolgenden und einem langem Klick unterscheiden kann.

Dan bring es ihm einfach bei.
Ohne Controller macht man das mit einem Monoflop.
In Software ist für sowas der Timer da.

ThomasKopsch
14.04.2007, 11:29
Okay, danke.

Das mit dem Resseten per Software geht bei mir immer noch nicht.

Deshalb habe ich mir jetzt überlegt, dass es ja auch gehen müsste den Reset-Pin mit einem anderen Pin zu verbinden, der normalerweise nicht zu GND führt, den man aber auf GND schalten kann!

Ich habe deshlb folgenden COde geschrieben:




$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 1000000

Config Portc.0 = Output
Config Portc.1 = Output
Config Pina.7 = Input

Porta.7 = 1
Portc.1 = 1
Portc.0 = 1

Dim A As Byte
A = 0

Do
Portc.0 = 1
Waitms 100
Portc.0 = 0
Waitms 100
A = A + 1
Loop Until A = 5

Do
If Pina.7 = 0 Then
Portc.1 = 0
Waitms 1
Portc.1 = 1
End If
Loop


End



An Portc.0 ist eine LED angeschlossen, die am Anfang des Programmes irgendwas macht. Im zweiten Teil des Programmes soll man den Controller dann mit dem Taster resetten können, um das ganze neu zu starten.
Das geht aber aus irgendwelchen Gründen nicht!
Warum nicht?

Danke,
Thomas

Ratber
14.04.2007, 11:46
Das mit dem Resseten per Software geht bei mir immer noch nicht.

Les in der Hilfe unter "Watchdog" nach da steht alles mit Programbeispiel drinne.
Das funktioniert garantiert.






Deshalb habe ich mir jetzt überlegt, dass es ja auch gehen müsste den Reset-Pin mit einem anderen Pin zu verbinden, der normalerweise nicht zu GND führt, den man aber auf GND schalten kann!

Das geht auch aber dann sollten Pullup und C am Reset entsprechend Dimensioniert sein.




Ansonsten solltest du mal erzählen warum du den Taster nicht direkt an Reset hängen willst.

ThomasKopsch
14.04.2007, 11:59
Gibt es auch irgendwo ein Programmbeispiel für bascom?
Ich habe nur ein Programmbeispiel für "watchdog" für C gefunden...

Mfg
Thomas

Ratber
14.04.2007, 12:01
Les in der Hilfe unter "Watchdog" nach da steht alles mit Programbeispiel drinne.

ThomasKopsch
14.04.2007, 12:09
Ja, danke.

Du meinst doch das, oder?
https://www.roboternetz.de/wissen/index.php/Watchdog

Entweder stehe ich gerade auf dem Schlauch oder es steht da wirklich nirgendswo.

Da ist das zwar sehr gut erklärt, aber da ist kein Programmbeispiel für Bascom, sondern nur für C, oder?
Und da ich C nicht behersche, nützt mir das nicht viel.

Thomas

Ratber
14.04.2007, 12:12
Bascom Hilfe ist gemeint

ThomasKopsch
14.04.2007, 12:35
Mh,

ich habe die ganze Seite https://www.roboternetz.de/wissen/index.php/Bascom durchsucht. Da steht kein einziges mal was von watchdog.
Tut mir leid, dass ich das nicht finde, ich muss mich wirklich blöd anstellen.

Vielen Dank nocheinmal!
Thomas

gomaman
14.04.2007, 12:38
Wie schon geschrieben, schau unter Watchdog in der BASCOM-HILFE anch.

Dort findest Du auch das dazugehöredne Bascom-Beispiel

ThomasKopsch
14.04.2007, 12:42
Könntet ihr mir vielleicht einfach mal den direkten Link zur Bascom-Hilfe geben?
Vielleicht gucke ich auch einfach auf den falschen Seiten!
Danke.

Thomas

Ratber
14.04.2007, 12:42
Du hast aber heute echt nen Brett vom Kopf ](*,) :D


Die Hilfe von Bascom ist gemeint und nicht irgedwas auf dieser Seite.

Im Fenster oben Rechts das Ocon mit dem Fragezeichen anklicken,dann Karteireiter Suche anwählen.
"Watchdog" eingeben und suchen lassen ......Fertig.

dremler
14.04.2007, 13:00
die hilfe is zu dem programm bascom dazu........das is die die aufgeht wenn du F1 drückst..

ThomasKopsch
14.04.2007, 13:14
DANKE!! =P~ =P~ =P~

Jetzt habe selbst ich es hingekriegt! ](*,) ](*,)

Nur noch eine Sache: Kann man das ganze auch auf deutsch umstellen oder geht nur englisch? Aber egal, ich werde es auch auf englisch hinkriegen...

Vielen, vielen Dank,

Thomas

dremler
14.04.2007, 13:38
da das program von eine englischen hersteller ist gibts die hilfe auch nur in englisch

Dnerb
14.04.2007, 14:01
da das program von eine englischen hersteller ist gibts die hilfe auch nur in englisch

Also wenn die Engländer nicht die letzten zwei 5 Stunden die Holländer in einem Blitzkrieg erobert haben, dann ist MCS Electronics nach wie vor ein Holländisches Unternehmen. :wink:

Was natürlich an der Englischsprachigen Hilfe nichts ändert...

Gruß Dnerb

Ratber
14.04.2007, 14:08
Engländer ?
Blitzkrieg ?

Ey,dat is "unser" Monopol !! :D