PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo + Bascom + Attiny26



Brantiko
31.07.2009, 21:54
Tach.
Ich möchte mit Bascom einen Servo ansteuern. So weit kein Problem, aber ich möchte dazu den Attiny26 verwenden. Leider kompiliert Bascom nach der Servo Initialisierung nicht mehr mit folgender Begründung:

Error: 22 - Out of SRAM Space

Wenn ich das gleiche Programm als Attiny2313 durchnudel hat Bascom kein Problem und das obwohl beide Controller gleich viel und aus ausreichend SRAM besitzen.

Wieder ein Bug? Immerhin lässt sich die PWM bei diesem Chip auch nicht so einfach unter Bascom konfigurieren.

Die Servo Konfiguration habe ich aus der Bascomhilfe genommen.
Hatte evtl. Jemand mal das gleiche Problem?

Willa
01.08.2009, 14:28
Probier doch mal den "selfmade servo code" aus dem Wiki (http://www.rn-wissen.de/index.php/Servoansteuerung). Vielleicht ist der Ressourcenschonender als der Bascom interne Befehl.

Besserwessi
01.08.2009, 15:17
Der Tiny2313 hat 16 bit PWM, der Tiny26 nur 8 Bit. Da wird vermutlich eine andere Software zur erzeugung des PWM Signals gebraucht. Beim Timer ist der Tiny26 etwas anders als viele andere Chips. Vielleicht ist die Routine dafür nicht so gut optimiert und da eventuell auch noch ein Bug drin der SRAM frißt. Der Coder von hand ist sicher eine gute Idee.

linux_80
01.08.2009, 19:09
Wollt auch fast schon was dazu Posten, aber
nach den Timern hab ich auch schon geguckt, und laut Bascom-Hilfe wird da sowieso der 8-Bit Timer0 verwendet, und der wär beim T26 auch vorhanden.
Tiefer hab ich ned geforscht was Bascom da wieder macht.

@Brantiko
Welche Bascom-Version verwendest Du ?
evtl. kann mal wer ein paar compile-Versuche machen.

MrNiemand
01.08.2009, 19:45
soweit ich weiß haben die kleinen Tinys ein extra Statement $tiny (siehe Hilfe).
Der Tiny2313 sollter der Nachfolger vom 90S2313 sein, und damit kein echter Tiny.

linux_80
01.08.2009, 23:53
@Brantiko
ich hab mal das TestPrg zu Servos aus der Bascom-Hilfe genommen und übersetzt, für T26 und T2313, beides mal gibts bei mir keinen Fehler (1.11.9.5).
Wenn Du das Problem noch hast, kannst Du mal Dein Programm hier reinstellen, um etwas näheres sagen zu können, und Bescheid geben bevor wir uns hier 'nen Wolf tippen ;-)

@MrNiemand
In der Hilfe steht auch, das $Tiny für Tinys ist, die gar kein SRAM, und somit keinen richtigen Stack, haben, wie der zB. Tiny11 zB. ;-)

Der T2313 ist so eine Art TinyMega-Zwitter, der einzige der eine echte UART hat unter den Tinys.
Flash und RAM ist aber mit dem T26 gleich.