• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Fragen zur Software

OP
radioscout

radioscout

Geoking
Der FM-Transmitter erzeugt Hochfrequenz die natürlich stören kann. Den Effekt kennt jeder, den schonmal ein Funker mit unpostalischem Nachbrenner den TV-Empfang gestört oder die Nadel des eigenen CB-Geräts runtergezogen hat.

Versuch mal, die Leitungen zum Transmitter zu verdrosseln und für eine gute HF-Erde zu sorgen.
 

rainmuel

Geocacher
Aaaaaalso, Bericht zur Lage:
Jetzt habe ich eine Entstörung vor den Transmitter gelötet aus einem R mit 100Ohm, einer Spule mit 47µH, einem C mit 100µF und einem C mit 47pF direkt vor dem FM Tx. Zusätzlich habe ich noch einen 100nF C direkt hinter den Bat ausgang gepackt. Es ist jetzt nicht 100%ig entstört aber zumindest brauchbar und so lasse ich es jetzt.

Allen, die sich bei der Lösung meines Problem beteiligt haben, einen Großen Dank!
Ansonsten Happy Caching an alle!
 

huzzel

Geowizard
upigors schrieb:
error : 202 Line: 1 .EQU not found, probably using functions that ar not supported by the selected chip [wdtcr] , in c:\programme.......und so weiter

diese Fehlermeldung bekomme ich beim kompilen (oder heißt das kompilieren?) mit Bascom
Das Programm läuft fehlerfrei aber ich hätte die trotzdem gern weg....
was ist "EQU" bzw wie kann ich diesen fehler weg bekommen?
gruß Uwe
Ich hatte gerade das gleiche Problem.
Nimm die neuste Bascom-Version, dann ist der Fehler weg. Steht in den einschlägigen Foren beschrieben, ist ein Fehler in den dat-Dateien (der 24er ist nicht der einzige mit dem Fehler)
 

Schwalbe64

Geocacher
Hallo,

ich benötige Hilfe bei meinem kleinen Programm.
Das soll folgende Funktion haben:

Sobald Licht auf den LDR fällt, soll der Portb.3 für 3 sec auf
1 Signal gehen, danach 5 sec Pause, bevor der Port b.0 auch
für 3 sec auf 1 Signal geht.
Anschließend soll für 10 min nichts passieren, (im Programm hier
nur für 20sec. Pause zum testen).
Anschließend sollen dann noch einmal die Ausgänge wie oben schalten.

Im Prinzip läuft das Programm, aber mit den Zeiten komme ich nicht
klar. Obwohl ich die Zeiten noch erhöht habe, ändert sich die Zeit
an den Ausgängen nicht wirklich.
Außerdem möchte ich Zwangsimpuls raushaben. Leider weiß ich nicht,
welche Stelle ich da wirklich anfassen muß. Ich habe jetzt den Zähler
in der Schleife einfach auf Null gesetzt.

Die Hardware ist ähnlich wie beim reaktivem Licht, nur sitzt anstelle der
LED ein 2,5 Volt Relais.

Ich würde mich echt freuen, wenn einer sich das Programm mal
anschauen würde. :hilfe:

Danke und Gruß
Markus

Code:
' µC: ATtiny13V
' +Ub: 3,00 V
' I: 17 µA im Leerlauf (Nachtbetrieb)
' I: 5 µA bei Tagabschaltung
' Reichweite: 650 m mit Maglite 5D
'
'============================================================
$regfile = "ATtiny13.DAT"
$crystal = 16000                                            'Frequenz des internen Oszillators
$hwstack = 22                                               'hardwarestack herabsetzen damit genügend variablen zur verfügung stehen
Config Adc = Single , Prescaler = Auto
Config Portb = &B00001001                                   'Pinb.0 Und 3 Auf 'Ausgang', Rest auf 'Eingang' schalten
Portb = 0                                                   'Ausgänge auf Low setzen
Stop Ac                                                     'Analog-Komparator abschalten, um Strom zu sparen
Wdtcr = &B11010011                                          'Watchdog definieren: 0.125 Sekunden, Interrupt auslösen, kein Reset
Enable Interrupts                                           'Interrupts freigeben
Const Schwelle = 50                                         'je größer der Schwellwert, desto unempfindlicher
Const Tagschwelle = 800                                     'Schwellwert für Schlafmodus
Const Zwangsimpuls = 8                                      'LED-Impuls tagsüber alle X Schlafyklen (á ca. 8 Sekunden)
Dim A As Byte                                               'Variablen definieren
Dim Tagzaehler As Byte
Dim Schlafzaehler As Byte
Dim Ldr As Integer                                          '0 = Dunkel, 1023 = Hell
Dim Alt As Integer
Dim Merker As Integer
Do
Reset Watchdog
Powerdown                                                   'prozessor bremsen da sonst lichtänderung nicht erkannt wird
Start Adc                                                   'A/D-Wandler starten
Ldr = Getadc(2)                                             'Helligkeitswert einlesen
Stop Adc                                                    'A/D-Wandler zum Stromsparen wieder stoppen
Merker = Ldr - Alt                                          'Unterschied zwischen letzter und aktueller Messung ermitteln
Alt = Ldr                                                   'letzten LDR-Wert sichern
If Merker > Schwelle Then Gosub Blinken                     'Bei großer Änderung Dunkel->Hell: Blinken
If Ldr > Tagschwelle Then                                   'prüfen ob helligkeit über tagschwelle liegt
If Tagzaehler < 255 Then                                    'int-variable geht nur bis 255
Tagzaehler = Tagzaehler + 1
End If
Else
Tagzaehler = 0                                              'wenn wieder dunkel tagzähler löschen
End If
If Tagzaehler > 200 Then Gosub Pause                        'wenn mehr als x zyklen hell dann schlafmodus
Loop


Blinken:                                                    'Ansteuerung Signale zum Gerät

Portb.3 = 1                                                 'Gerät 1 Ein Signal
Waitms 3000                                                 'für 3000ms
Portb.3 = 0
Waitms 5000                                                 '5000ms Pause
Portb.0 = 1                                                 'Gerät 2 Start Signal
Waitms 3000                                                 ' für 3000ms
Portb.0 = 0

Waitms 4000                                                 ' 20 sec. Pause 
Waitms 4000
Waitms 4000
Waitms 4000
Waitms 4000

Portb.0 = 1                                                 'Gerät 1 Aus Signal
Waitms 3000                                                 'für 1000ms
Portb.0 = 0
Waitms 9000                                                 '9000ms Pause
Portb.3 = 1                                                 'Gerät 2 Aus Signal
Waitms 3000                                                 ' für 3000ms
Portb.3 = 0

Reset Watchdog
Powerdown
Alt = 1023                                                  'Doppelauslösung verhindern
Return
Pause:
Wdtcr = &B11110001                                          'Watchdog auf 8 Sekunden stellen
Reset Watchdog
Powerdown
Wdtcr = &B11010011                                          'Watchdog wieder auf 0,125 Sekunden zurückstellen
Schlafzaehler = Schlafzaehler + 0                           'merken wie oft Schlafmodus durchlaufen wurde
If Schlafzaehler = Zwangsimpuls Then                        'als Funktionskontrolle tagsüber LED auslösen

Reset Watchdog
Powerdown

Schlafzaehler = 0
End If
Return
End
 

upigors

Geowizard
warum soviel waitms? vielleicht sind die begrenzt?
lässt sich das nicht mit, von vorn herein verlängerten wdtcsr befehlen, also diesen watchdog zeilen besser realisieren? hab mal sowas gemacht 10 sek an, aus, 5 min warten, noch mal 10 sek an, aus aber eben nur mit einem port. da hab ich die wdtc(s)r der pause auf max (glaub 8 sekunden) gestellt und die dann x mal durchlaufen.
 

stonewood

Geowizard
Schwalbe64 schrieb:
Code:
' µC: ATtiny13V

$regfile = "ATtiny13.DAT"
$crystal = 16000                                            'Frequenz des internen Oszillators
Sicher daß der Tiny mit 16 Khz getaktet wird? Wahrscheinlich doch 128 Khz? Was sagen die Fuses? 'waitms' wartet entsprechend viele Takte für eine Sekunde, also 16000 Takte.

-> $crystal=128000 sollte einigermaßen richtige Zeiten ergeben. Wenn das immer noch nicht paßt muß man da noch ein wenig dran drehen, ich hab schon in einigen Programmen was mit 116000 gesehen.

Alternativ: Watchdog-Timer auf 1, 2, 4 bzw. 8 Sekunden schalten und damit warten. Der ist nicht vom internen Takt abhängig (ist immer 128 Khz, egal was die Fuses machen), außerdem verbrät 'waitms' dadurch strom daß der Chip nicht in Powerdown runtergefahren wird.
 

Schwalbe64

Geocacher
Danke für die Antworten.

Wie angeraten, habe ich die wait xx ms Befehle rausgenommen
und durch die Watchdog-Timer ersetzt.
Die habe ich dann in ein Schleife gesetzt.
Und es funktioniert super.

Mit der Einstellung
Wdtcr = &B11010011
steht der Watchdock auf 0,125 sec,
mit
Wdtcr = &B11110001
steht er auf 8 sec.

Die Werte habe ich mir aus dem Programm geklaut.
Wie aber sehen die Einstellwerte für für 1,2 oder 4 sec
aus? Ich habe mal probiert, aus dem Datenblatt schlau
zu werden, hat leider nicht geklappt :eek:ps:

Nochmals Danke und Gruß
Markus
 

stonewood

Geowizard
Schwalbe64 schrieb:
Wie aber sehen die Einstellwerte für für 1,2 oder 4 sec
aus? Ich habe mal probiert, aus dem Datenblatt schlau
zu werden, hat leider nicht geklappt :eek:ps:
Schade, auf http://reaktivlicht.pbworks.com/Reaktivlicht+mit+Teachin+der+Blinksequenz+-+LEDonly+Version+mit+AD-Wandlung+-+f%C3%BCr+ATtiny13V kann man das nicht abschreiben. ;)

Kapitel 'Watchdog Timer Control Register - WDTCR' schreibt:
Code:
WDTCR
Bit  7     6     5    4    3   2    1    0
    WDTIF WDTIE WDP3 WDCE WDE WDP2 WDP1 WDP0
Wdtcr = &B11010011
steht der Watchdock auf 0,125 sec,
WDTIF=1
WDTIE=1
WDP3=0
WDCE=1
WDE=0
WDP2=0
WDP1=1
WDP0=1

Nach Tabelle 17: WDP3 ... WDP0 = 0011 = 0,125s
Und da steht: 0110 = 1s
Wdtcr = &B11010110
und so weiter.

Leider hat Atmel die WDPx-Bits auf dem WDTCR etwas durcheinandergebracht, die sind also nicht nur am Ende. Die anderen Bits sind schon so vorbelegt damit das ganze funktioniert, die bleiben also gleich.
 

upigors

Geowizard
huzzel schrieb:
upigors schrieb:
error : 202 Line: 1 .EQU not found, probably using functions that ar not supported by the selected chip [wdtcr] , in c:\programme.......und so weiter

diese Fehlermeldung bekomme ich beim kompilen (oder heißt das kompilieren?) mit Bascom
Das Programm läuft fehlerfrei aber ich hätte die trotzdem gern weg....
was ist "EQU" bzw wie kann ich diesen fehler weg bekommen?
gruß Uwe
Ich hatte gerade das gleiche Problem.
Nimm die neuste Bascom-Version, dann ist der Fehler weg. Steht in den einschlägigen Foren beschrieben, ist ein Fehler in den dat-Dateien (der 24er ist nicht der einzige mit dem Fehler)

Tatsächlich, weg ist der Fehler :D
Danke schöööööön
 

upigors

Geowizard
nun hab ich auch mal ne Frage zum programmieren. Ich benötige ein Programm für den Attiny 13 mit LDR (am liebsten das Standartprogramm - geändert) nur das ich die Eingangssignale zählen möchte und erst nach 3 kurzen Blitzen input das Blinken auslöst. Kann mir jemand unter die Arme greifen?
Danke und Gruß
Uwe
 

huzzel

Geowizard
Code:
adr=getadc(x)
If adr>Schwelle then incr Ausloesezaehler
if Ausloesezaehler = 3 then
    MACHWAS
    Ausloesezaehler = 0
end if
Reicht das als "Anschubser"? ;)

Alternativ kannst Du über einen Timer noch die Länge der Blitze ermitteln lassen, oder, oder, oder :D
 

Kappler

Geowizard
Das wird so aber nicht ganz funktionieren, da bei langem Anleuchten der Zähler auch bis 3 hochläuft...
Zwischendurch müsste noch mal auf "Dunkel" geprüft werden, damit wirklich 3 Blitze detektiert wedren können.
Zusätzlich müsste über einen wie auch immer gearteten Timeout der Zähler wieder zurückgesetzt werden, wenn nach einer bestimmten Zeit keine weiteren Anblinkereien kommen. Sonst blinkt einer 2-mal, geht weiter und beim nächsten wird eine halbe Stunde später schon beim ersten Blitz ausgelöst...

Das Problem ist durchaus vielschichtiger...
 

upigors

Geowizard
stimmt :???: na ja, vielleicht das morseeingabeprogramm aus dem kochbuch modifizieren..... hat nur bisher nicht geklappt :kopfwand:
 

huzzel

Geowizard
Schon klar, war auch nur ein grober Gedankenanstoß.

Aber ich habe mal folgendes draußen im Einsatz gehabt (genau genommen, hängt es sogar noch ;) )

Code:
$regfile = "ATtiny13.DAT"
$crystal = 16000                                            'Frequenz des internen Oszillators
$hwstack = 8                                                'hardwarestack herabsetzen damit genügend variablen zur verfügung stehen
Config Adc = Single , Prescaler = Auto
'Config Portb = &B00001110                                   'Pinb.3,2 auf 'Ausgang', Rest auf 'Eingang' schalten
Config Portb = &B00001100
Portb = 0                                                   'Ausgänge auf Low setzen
Stop Ac                                                     'Analog-Komparator abschalten, um Strom zu sparen
Wdtcr = &B11010011                                          'Watchdog definieren: 0.125 Sekunden, Interrupt auslösen, kein Reset
Enable Interrupts                                           'Interrupts freigeben
Const Schwelle = 50                                         'je größer der Schwellwert, desto unempfindlicher
Const Tagschwelle = 800                                     'Schwellwert für Schlafmodus
Const Zwangsimpuls = 8                                      'LED-Impuls tagsüber alle X Schlafyklen (á ca. 8 Sekunden)
Dim A As Byte                                               'Variablen definieren
Dim Tagzaehler As Byte
Dim Ldr As Integer                                          '0 = Dunkel, 1023 = Hell
Dim Alt As Integer
Dim Merker As Integer
Dim N As Integer
Dim X As Byte
Dim Merkx As Byte

Portb.2 = 1
Portb.3 = 1
Wdtcr = &B11110001
'Portb.1 = 1                                               'Watchdog auf 8 Sekunden stellen
Reset Watchdog
Powerdown
Reset Watchdog
Powerdown
Reset Watchdog
Powerdown
Reset Watchdog
Powerdown
Reset Watchdog
Powerdown
Reset Watchdog
Powerdown
Reset Watchdog
Powerdown
Reset Watchdog
Powerdown
'Portb.1 = 0
Wdtcr = &B11010011
Portb.3 = 0
Portb.2 = 0

Do
 Reset Watchdog
 Powerdown                                                  'prozessor bremsen da sonst lichtänderung nicht erkannt wird
 Start Adc                                                  'A/D-Wandler starten
 Ldr = Getadc(2)                                            'Helligkeitswert einlesen
 Stop Adc                                                   'A/D-Wandler zum Stromsparen wieder stoppen
 Merker = Ldr - Alt                                         'Unterschied zwischen letzter und aktueller Messung ermitteln
 Alt = Ldr                                                  'letzten LDR-Wert sichern
 If Merker > Schwelle Then                                  'Bei großer Änderung Dunkel->Hell: Blinken
  If X < 8 Then Incr Merkx
  If Merkx = 3 Then
      Merkx = 0
      X = 0
      Portb.2 = 1
      Portb.3 = 1
      Wdtcr = &B11110001
      'Portb.1 = 1                                               'Watchdog auf 8 Sekunden stellen
      Reset Watchdog
      Powerdown
      Reset Watchdog
      Powerdown
      Reset Watchdog
      Powerdown
      Reset Watchdog
      Powerdown
      Reset Watchdog
      Powerdown
      'Portb.1 = 0
      Wdtcr = &B11010011
      Portb.3 = 0
      Portb.2 = 0
      N = 280

  Else
     For A = 0 To 10
     Portb.3 = 1
     Reset Watchdog
     Powerdown
     Portb.3 = 0
     Reset Watchdog
     Powerdown
     Next A
     X = 0
     Alt = 1023
  End If
 End If
 If X < 10 Then
   Incr X
 Else
   Merkx = 0
 End If

 If Ldr > Tagschwelle Then                                  'prüfen ob helligkeit über tagschwelle liegt
  If Tagzaehler < 255 Then Incr Tagzaehler                  'int-variable geht nur bis 255
 Else
  Tagzaehler = 0                                            'wenn wieder dunkel tagzähler löschen
 End If
 If Tagzaehler < 200 Then                                   'wenn mehr als x zyklen hell dann schlafmodus
  If N = 1 Then Portb.2 = 1
  If N = 2 Then Portb.2 = 0
  If N = 64 Then Portb.2 = 1
  If N = 65 Then Portb.2 = 0
  If N = 300 Then
   N = 0
  Else
   Incr N
  End If
 Else
  N = 0
  Wdtcr = &B11110001
  'Portb.1 = 1                                               'Watchdog auf 8 Sekunden stellen
  Reset Watchdog
  Powerdown
  Reset Watchdog
  Powerdown
  Reset Watchdog
  Powerdown
  'Portb.1 = 0
  Wdtcr = &B11010011
 End If
Loop

End

Macht folgendes:
Wenn nach dem Auslösen innerhalb von 1 Sekunde erneut ausgelöst wird, und das 3 mal, dann gehen alle beschaltete Ausgänge auf HIGH
 

schnasemann

Geocacher
Hallo, die Herren, ich verzweifel mal wieder. Und hoffe auf Erleuchtung durch Euch.
Habe eine Schaltung, bei der LEDs gemultiplext werden. Das Muster holt sich der uC aus einer Tabelle. Nacheinander werden 4 Bytes gelesen und auf PortA ausgegeben, der Transistor, der gegen gemeinsame Masse von je 8 LEDs zieht, hängt an PortB. Nun ist der tiny84 gerade so ausreichend und - bevor ich ihn mit meinem einfach-programmer nicht mehr proggen kann, wollte ich natürlich meinen PB3 nicht als Ausgang setzen. Das erst, wenn alles klappt. Es klappt aber gar nichts. Nicht einmal das Setzen der 1 LED in der Initialisierung klappt. Wo ist mein (offensichtlicher?) Fehler?
Code:
$regfile = "ATtiny84.DAT"

$crystal = 8000000                                          'Reale Frequenz des internen 128kHz-Oszillators
$hwstack = 10                                               ' default use 32 for the hardware stack
$swstack = 20                                               'default use 10 for the SW stack
$framesize = 20                                             'default use 40 for the frame

Const Runden = 10

Dim Daten As Byte                                           ' auszugebendes Byte
Dim Datena As Byte
Dim Datenb As Byte
Dim Datenc As Byte
Dim Datend As Byte
Dim Schleife As Byte
Dim Wiederholungen As Byte
Dim Zaehler As Word
Config Portb = &B11110111                                   'Portb.3 als Reset -Eingang schalten
Portb = &B00001000                                          'keine Pullups zuschalten
Config Porta = Output                                       ' einzelnes Byte (1..8,9..16,17..24,25..32)
Porta = 1
Portb = 1
Zaehler = 0
Waitms 5000



Do
   For Wiederholungen = 1 To 10
      Daten = Lookup(zaehler , Blinkmuster)
      If Daten <> &B01010101 Then                           ' Wenn das erste Byte keine 01010101 ist, sind alle 4 Bytes gültig
         Datena = Lookup(zaehler , Blinkmuster)
         Incr Zaehler
         Datenb = Lookup(zaehler , Blinkmuster)             'Zweites Byte holen
         Incr Zaehler
         Datenc = Lookup(zaehler , Blinkmuster)             'Drittes Byte holen
         Incr Zaehler
         Datend = Lookup(zaehler , Blinkmuster)             ' Viertes Byte holen
         Incr Zaehler
         For Schleife = 1 To 33                             ' 33x20ms = 2/3 Sekunde
            Porta = Datena
            Portb = 1
            Waitms 5
            Portb = 0
            Porta = Datenb
            Portb = 2
            Waitms 5
            Portb = 0
            Porta = Datenc
            Portb = 4
            Waitms 5
            Portb = 0
            Porta = Datend
            Portb = 8
            Waitms 5
            Portb = 0
         Next Schleife
      Else                                                  ' alles rum, dann reinitialisieren
         Zaehler = 0
         Porta = 0
         Portb = 0
         Waitms 1000                                        ' 1 Sekunde Pause
      End If
   Next Wiederholungen                                      'Das gesamte Muster 10x durchspielen, dann
   Mcucr = &B000100000                                      ' Schlafsettings
   sleep                                                    ' Schlafen
Loop

End






Blinkmuster:
Data &B00000000 , &B00000000 , &B00000000 , &B00000000
Data &B00000000 , &B00000000 , &B00000000 , &B10000000      
Data &B00000000 , &B00000000 , &B00000000 , &B10000001      
Data &B00000000 , &B00000001 , &B00000000 , &B10000001     
Data &B00000000 , &B10000001 , &B00000000 , &B10000001
Data &B01000000 , &B10000001 , &B00000000 , &B10000001 
Data &B01000100 , &B10000001 , &B00000000 , &B10000001      
Data &B01000100 , &B10000101 , &B00000000 , &B10000001     
Data &B01000100 , &B10000101 , &B00000000 , &B10010001     
Data &B01000100 , &B10000101 , &B00000000 , &B10110001     
Data &B01000100 , &B10001101 , &B00000000 , &B10110001    
Data &B01100100 , &B10001101 , &B00000000 , &B10110001     
Data &B01100100 , &B10001111 , &B00000000 , &B10110001      
Data &B11100100 , &B10001111 , &B00000000 , &B10110001      
Data &B11100100 , &B10101111 , &B00000000 , &B10110001     
Data &B11100100 , &B10111111 , &B00000000 , &B10110001     
Data &B11100100 , &B10111111 , &B00000000 , &B10111001     
Data &B11100101 , &B10111111 , &B00000000 , &B10111001     
Data &B11100101 , &B11111111 , &B00000000 , &B10111001     
Data &B11100101 , &B11111111 , &B00000000 , &B10111011    
Data &B11100101 , &B11111111 , &B00000001 , &B10111011     
Data &B11100111 , &B11111111 , &B00000001 , &B10111011     
Data &B11101111 , &B11111111 , &B00000001 , &B10111011      
Data &B11111111 , &B11111111 , &B00000001 , &B10111011      
Data &B11111111 , &B11111111 , &B01000001 , &B10111011     
Data &B11111111 , &B11111111 , &B01000101 , &B10111011     
Data &B11111111 , &B11111111 , &B01100101 , &B10111011     
Data &B11111111 , &B11111111 , &B01110101 , &B10111011     
Data &B11111111 , &B11111111 , &B11110101 , &B10111011     
Data &B11111111 , &B11111111 , &B11110111 , &B10111011     
Data &B11111111 , &B11111111 , &B11111111 , &B10111011     
Data &B01010101                                             ' Endemarker         '

Danke vorab,
Carsten
 

thomas_st

Geowizard
schnasemann schrieb:
Es klappt aber gar nichts. Nicht einmal das Setzen der 1 LED in der Initialisierung klappt. Wo ist mein (offensichtlicher?) Fehler?
Also den offensichtlichen Fehler habe ich nicht, aber einen:

schnasemann schrieb:
Code:
[...]
            Portb = 8
            Waitms 5
            Portb = 0
[...]
Sofern Du den /RST-Pin nicht lahm gelegt hast, geht das nicht, da PB3 auch gleichzeitig /RST ist und damit nicht als IO-Pin zur Verfügung steht.

HTH und viele Grüße,
Thomas(_st)
 

schnasemann

Geocacher
Hallo, Thomas,
das schrieb ich doch. Den PORTB3 will ich schon als Ausgang verwenden, aber erst, wenn alles geht. In den Fusebits ist er noch als normaler Reset-Eingang gesetzt. Und den Pull-up eingeschaltet. Dann müsste doch wenigstens der Anfang funktionieren, oder?
Carsten
 

thomas_st

Geowizard
schnasemann schrieb:
das schrieb ich doch. Den PORTB3 will ich schon als Ausgang verwenden, aber erst, wenn alles geht.
Sorry, das hatte ich überlesen.

Da fällt mir mit meinen bruchstückhaften Bascom-Wissen nicht mehr viel ein, außer auf folgende Punkte hinzuweisen und zu fragen ob das so ok ist:
schnasemann schrieb:
Code:
$crystal = 8000000                                          'Reale Frequenz des internen 128kHz-Oszillators
Die 8MHz sind gefused?

schnasemann schrieb:
Code:
Config Portb = &B11110111                                   'Portb.3 als Reset -Eingang schalten
Portb = &B00001000                                          'keine Pullups zuschalten
Config Porta = Output                                       ' einzelnes Byte (1..8,9..16,17..24,25..32)
Das funktioniert so? Einmal über eine Konstante "Output" und einmal per Bitmuster konfiguriert.

Wie war das: gab es da nicht mal Probleme mit einem Config-File für eine Tiny-Reihe? Weiß aber nicht ob das die Tiny x4- oder Tiny x5-Reihe war.

Mehr weiß ich jetzt auch nicht mehr.

Viele Grüße und HTH trotzdem,
Thomas(_st)
 

schnasemann

Geocacher
8MHz ist gefused, PORT-Konfiguration habe ich beim 13er auch so gemacht, laut Doku soll das auch gehen.
Neue Bascom Version habe ich auch installiert, in der Hoffnung, dass das Config-File da stimmt. Ein Revision- oder History-File suche ich vergeblich.
Nun bin ich am Ende meines Lateins. Und das Ding läuft immer noch nicht und ich dachte, das klappt noch vorm Urlaub. :kopfwand:
 
Oben