PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programm bleibt bei Getrc5 stehen



Dane
19.03.2006, 18:45
Hallo,

mein ATTiny 13-20 soll einen RC5-Code empfangen und diesen an einen anderen AVR senden, weil mir der GETRC5-Befehl dort zu lange dauern würde.

Nur bleibt er bei GETRC5 stehen. Zur Überprüfung habe ich Toggle Portb.2 geschrieben.

Ich habe die Fusebits auf externen Oszillator gestellt (Quarzoszillator 12Mhz) und auch den Prescaler 8 deaktiviert.

Woran könnte es liegen, dass er dort stehen bleibt?

Mit dem Befehl Serout habe ich noch nicht gearbeitet, bei einem Test hat er aber was an den Rechner gesendet, also müsste wenigstens irgendwas ankommen, wenn er denn so weit kommen würde.


$regfile = "attiny13.dat"
$crystal = 12000000

'Bit 543210
Ddrb = &B000100 '0=Eingang

'Bit 543210
Portb = &B111010 '1=Pull Up

Dim Address As Byte , Command As Byte

Config Rc5 = Pinb.1 'IR-Empfänger sitzt auf PB0
Enable Interrupts

Do

Getrc5(address , Command) 'IR-Empfänger abfragen
Toggle Portb.2

If Address < 255 Then 'abfragen, ob überhaupt ein Signal kommt
Command = Command And &B01111111 'Toggle Bit entfernen
Serout Command , 0 , B , 0 , 9600 , 0 , 8 , 1
End If

Loop

MfG, Dane

felack
22.03.2006, 16:52
Zieh dir mal die neueste Programmversion von BASCOM in der 1.11.7.x- Version war ein Fehler beim Timer, sodass der GETRC5-Befehl nicht funktioniert. In der neuen Version musst du dann noch HWSTACK=16 (eigentlich 32-die Zahl der durch Variablen belegten Bytes) ins Programm schreiben, sonst meldet es "out of SRAM"

Wenn Du ein Beispielprogramm (RC5-Relais mit Tiny13) brauchst, gib Bescheid.

felack

felack
21.12.2006, 11:46
Hallo veit,

hier die Dateien zum RC5-Relais mit Tiny13

Inhalt:

BASCOM-Programm
Eagle-Schaltbild
Eagle-Board
Eagle-3D-Platinenbild

felack

veit
21.12.2006, 12:59
hey danke! hatte ganz vergessen dass ich dir ja ne pm geschickt hab.


UUUIIII und das beantwortet auch meine frage ob ich überhaupt nen externen quarz brauche für die geschichte ...

-tomas-
22.12.2006, 09:02
RC5-Code empfangen und diesen an einen anderen AVR senden, weil mir der GETRC5-Befehl dort zu lange dauern würde.

Dieser GETRC5 ist eine üble Gurke!!
Sieh Dir mal meinen Bascom-ISR-Code an
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=20209
der läuft im Hintergrund...

ich habe das z.B. hier eingesetzt:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=26041