leute ich könnt euch knutschen!
es läuft! keine resets mehr!
hier das programm:
Code:
$regfile = "m32def.dat" 'Controller Regfile
$crystal = 16000000 '16Mhz Quarz
$baud = 9600 'UART auf 9600 Baud einstellen
Config Servos = 1 , Servo1 = Porta.7 , Reload = 10
Config Porta.7 = Output
Dim X As Integer
Config Lcdpin = Pin , Rs = Portc.3 , E = Portc.2 , Db4 = Portc.5 , Db5 = Portc.1 , Db6 = Portc.4 , Db7 = Portc.0
Config Lcd = 16 * 2 'Type des LCD´s 16 Char und 4 Zeilen
Config Pinb.1 = Input
Config Pinb.0 = Input
Initlcd 'LCD high level Initzialisierung
Cursor Off 'Cursor ausschalten
Cls
Enable Interrupts
Lcd "start"
Wait 1
X = 43 ' 43 - 196
Start1:
Waitms 50
Cls
Servo(1) = X
X = X + 5
Locate 1 , 1
Lcd X
If Pinb.0 = 0 Then
Servo(1) = 196
X = 43
Cls
Lcd "ende"
Wait 1
End If
If Pinb.1 = 0 Then
Servo(1) = 43
X = 43
Cls
Lcd "anfang"
Wait 1
End If
If X > 196 Then
Servo(1) = 43
X = 43
Waitms 200
End If
Goto Start1
allerdings läuft es nicht über den rns1
benutztes programm:
Code:
$regfile = "m32def.dat"
Declare Sub Rnb_servo(byval Servonummer As Byte , Byval Position As Byte)
Dim I As Byte
Dim Pos As Byte
$crystal = 16000000 'Quarzfrequenz
$baud = 9600
Wiederhole:
For I = 1 To 255
Call Rnb_servo(1 , I)
Waitms 50
Next I
For I = 1 To 4
Pos = 1
Call Rnb_servo(1 , Pos)
Wait 2 'Warte 2 Sekundne
Pos = 255
Call Rnb_servo(1 , Pos)
Wait 2
Next I
Goto Wiederhole
Sub Rnb_servo(byval Servonummer As Byte , Byval Position As Byte)
Print "#S" ; Chr(servonummer) ; Chr(position)
End Sub
End
wen wir das noch hinbekommen bin ich glücklich...
nochma zu den elko! kan ich auch einen mit 6,3v und 3900µf verwenden? davon hab ich nämlich noch 4 stück rumliegen!die sind ja kleiner...
gruss predator 32767
Lesezeichen