Ich habs gerade ausprobiert mit Printbin und Inputbin, allerdings habe ich jetzt ein neueres, größeres Problem. Hier mein Code auf dem ATTINY45:
Mit dem Oszi überprüfe ich den Ausgang des Servo(1)-Signals. Die Werte (78 und 100) stimmen zwar, jedoch ändert sich das Signal nicht jede Sekunde (wait 1), sondern nur ca. alle 5 bis 6 Sekunden. Clockdiv/8 ist deaktiviert, Clock output ist deaktiviert,Code:$regfile = "attiny45.dat" $crystal = 8000000 $framesize = 30 $hwstack = 30 $swstack = 30 Open "COMB.0:38400,8,N,1" For Input As #1 Config Pinb.0 = Input Config Servos = 4 , Servo1 = Portb.3 , Servo2 = Portb.2 , Servo3 = Portb.4 , Servo4 = Portb.1 , Reload = 4 , Intervall = 10 Config Portb.1 = Output Config Portb.2 = Output Config Portb.3 = Output Config Portb.4 = Output Dim _bl(4) As Byte Dim _blold(4) As Byte Dim I As Byte Const Min_servo = 78 '900µs Const Max_servo = 170 '2000µs For I = 1 To 4 _bl(i) = Min_servo _blold(i) = _bl(i) Servo(i) = _bl(i) Next I Enable Interrupts Do Servo(1) = 78 Wait 1 Servo(1) = 100 Wait 1 '( Inputbin #1 , _bl(1) , _bl(2) , _bl(3) , _bl(4) For I = 1 To 4 If _bl(i) <> 0 And _bl(i) <> 255 Then If _bl(i) >= Min_servo And _bl(i) <= Max_servo Then Servo(i) = _bl(i) End If End If Next I ') Loop End
100010:Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value,
und bod ist deaktiviert.
Warum braucht mein AVR so lange? Liegts am TINY? Hab in der BASCOM-Hilfe was von $tiny gelesen, allerdings gehen damit 90% meiner Instructions nicht mehr![]()
Gruß
Chris







Zitieren

Lesezeichen