-
-
BITWAIT nicht mit Tiny15 ??
Hallo Leute,
ich bin noch ein absoluter Neuling in Sachen AVR und brauche bitte mal Hilfe.
Ich habe mit Bascom ein Programm zur Ansteuerung einer Digicam über eine RC-Anlage geschrieben für einen Tiny15. Dabei frage ich die Impulse mit BITWAIT ab.
Jetzt bekomme ich aber beim debuggen mit den AVR-Tools (neueste Version) immer die Meldung "onknown opcode for this device". Wieso soll es den Befehl denn bei dem Tiny15 nicht geben ? Lt. Datenblatt ist er doch vorhanden. Wenn ich einen Tiny22 vorgebe, ist alles ok.
Hat jemand hierzu eine Idee ?
Gruß Ralf
-
Erfahrener Benutzer
Roboter Experte
stell mal dein Source hier rein, sonst wirds schwer nachvollziehbar
-
Ich versuch's mal. Nicht verwirren lassen, ist urspringlich definitiv für einen Tiny15 geschrieben.
'Camera-Steuerung für Mustek GSmart Mini2/3 RG 08/2005
' Am Servotester sind folgende Werte für Futaba gemessen:
' Unten Hex42 Dez66
' Mitte Hex66 Dez102
' Oben Hex8b Dez139
$regfile = "attiny13.dat"
'$tiny
'$noramclear
$crystal = 4000000
Stop Watchdog
'Dim Impulsdauer As Iram Byte
'Dim Impulsdauer_alt As Iram Byte
'Dim Lowpos As Iram Byte
'Dim Highpos As Iram Byte
Dim Impulsdauer As Byte
Dim Impulsdauer_alt As Byte
Dim Lowpos As Byte
Dim Highpos As Byte
Declare Sub Impuls_messen
Declare Sub Aufwecken
Declare Sub Bild_machen
Config Pinb.0 = Output 'Auslöser Camera
Config Pinb.1 = Input 'Schlafmodus Camera abfragen
Config Pinb.2 = Output 'Aufwecken Camera
Config Pinb.4 = Input 'Eingabeport für RC-Kanal
Config Watchdog = 2048 'Watchdogzeit ca. 2 sec
Photo Alias Portb.0
Photo = 0
Sleeping Alias Pinb.1
Awake Alias Portb.2
Awake = 0
Impuls Alias Pinb.4
'Werte evtl. an RC-Anlage anpassen
Lowpos = 60
Highpos = 140
'-------------------------Hauptprogramm---------------------------------
Start Watchdog
Do
Gosub Impuls_messen 'Prüfen der Knüppelstellung
'Wenn der Knüppel ganz oben ist,
If Impulsdauer > Highpos And Impulsdauer_alt < Highpos Then
'testen, ob Camera im Schlafmodus
Gosub Aufwecken
'Photo machen
Gosub Bild_machen
End If
Loop
End 'end program
Impuls_messen:
'--------------------Knüppelstellung messen ---------------------------
Impulsdauer_alt = Impulsdauer
Impulsdauer = 0
Bitwait Impuls , Reset 'Impulspause abwarten
Bitwait Impuls , Set 'Impulsanfang abwarten
Do 'Bis Impulsende hochzählen
Incr Impulsdauer
Loop Until Impuls = 0
'Wenn Die Impulslänge Im Gültigen Bereich Ist , Dann Watchdog Füttern,
'Sonst löst er nach 2sec. einen Reset aus , so werden Störungen vermieden
If Impulsdauer > 0 And Impulsdauer < 250 Then
Reset Watchdog
End If
Return
'----------- falls Camera im Sleepmodus ist - aufwecken ----------------
Aufwecken:
If Sleeping = 1 Then
Awake = 1
Waitms 200
End If
Return
' --------------------- Photo machen -------------------
Bild_machen:
'Auslöser an für 0,5 Sekunden
Photo = 1
Waitms 500
Photo = 0
'4 Sekunden warten, damit Bild gespeichert werden kann
Waitms 4000
Return
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen