PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : isp flashen & IR kommunikation



inka
12.07.2009, 17:17
hi allerseits,

nach langer, langer zeit versuche ich mich wieder in den asuro reinzufinden...

das IR flashen macht momentan probleme, ISP in verbindung mit der erweiterungskarte von robo.fr geht.
In diesem zusammenhang die frage: verliere ich bei der verwendung von dem o.g. board von robo die möglichkeit der IR-kommunikation mit dem roboter, oder ist nur das flashen weg (weil prozessor ohne boatloader)? Kann mich nicht mehr so recht erinnern wie es war...

zweite frage fällt mir noch ein: momentan brennt dauern die D11, also die linien LED, wenn der asuro eingeschaltet wird. Ich glaube das war nicht immer so, durch meine umbauten hat sich da evtl. eine ungewollte verbindung eingeschlichen :-(. Problematisch? Wenn ja, wobei? Oder kann ich es einfach zur kenntnis nehmen als fahren mit licht?

schönen tag noch...

danke...

vistauser
13.07.2009, 11:59
hallo inka,
habe auch diese prozessorplatine. flashen geht damit einwandfrei. die mit "jumper" bezeichneten brücken müssen gesteckt sein und j2 muss
brücken von 1-3 und 2-4 gesteckt haben. dann empfängt die neue platine die signale. j2 in richtung 3-5 und 4-6 gesteckt funktioniert dann mit den original empfängern.
nun meine frage zu isp:
wenn ich statt des original mega8l einen nagelneuen in die zusatzplatine stecke, laufen dann die beispielprogramme des asuro wenn ich diese mit isp und avrstudio flashe?
schöne woche auch dir olaf

inka
13.07.2009, 12:40
hi Olaf,

also bei mir ist es etwas anders:

- beim flashen eines original AREXX-Atmega8 über IR spielen die "jumper"keine rolle, die J2 müssen so, wie du es beschreibst gesteckt sein, wenn ich die IR-dioden auf dem zusatzboard nutzen will...

- will ich über ISP flashen, müssen die "jumper" weg, J2 spiel tkeine rolle (weil dort ja die IR dioden umgeschaltet werden), dann kann ich einen neutralen Atmega8 flashen, ISP flashen eines AREXX-Atmega8 geht nicht.

Die frage war, ob ich bei einem neutralem Atmega8, der über ISP geflasht wurde anschliessend die IR verbindung z.b. zur ausgabe am pc (terminal) nutzen kann, oder nicht...

hai1991
13.07.2009, 15:50
hallo inka

also ich glaube schon das es gehen sollte, da der bootloader nur zum flashen verwendet wird, die einstellungen zur kommunikation zum hyperterminal o.ä. aber in der Init()-Funktion.
ich kann es aber nicht ganz sicher sagen, da ich diese erweiterungsplatine nicht kenne/benutze

inka
20.07.2009, 12:07
hi allerseits,

mit folgendem code werden bei der verwendung des original arexx-atmega8 die werte der line-sensoren zum pc über die IR schnittstelle übertragen...

beim standard-atmega8, auf den der code mit ISP geflasht wurde dagegen nicht - egal ob mit dem robofr-board, oder direkt in die platine eigesetztem prozessor...

weiss jemand rat? was muss ich beim standard-atmega8 anders machen?


#include "asuro.h"


int main(void)
{
unsigned int data[2];
Init();
SerPrint("\r\n --- georgs line-sensor test ---");
SerPrint ("\n\r");
Msleep(1000);
StatusLED(OFF);
FrontLED(ON);
do
{
LineData(data);

SerPrint("phototransistorwerte li/re: ");

Msleep(500);

SerPrint (" ");

PrintInt(data[0]);
StatusLED(RED);
Msleep(500);
SerPrint(" - ");
PrintInt(data[1]);
StatusLED(GREEN);
Msleep(500);
SerPrint ("\n\r");
}
while(1);
return 0;
}

m.a.r.v.i.n
20.07.2009, 16:54
Hallo inka,

läuft denn der standard-atmega8 auch mit externen Takt, oder evtl. noch mit internem Takt? Sprich, sind die Fusebits korrekt eingestellt?

Blinkt die Status LED im richtigen (vom Programm her) Zeitabstand?

Ist der standard-atmega ein ATmega8L oder ein ATmega8?

Ich hatte auch schon mal einem mega168 auf dem Asuro laufen. Die IR Schnittstelle hat dort ohne Probleme funktioniert.

inka
20.07.2009, 18:48
die LED blinks sehr langsamm, es ist der interner 1mhz takt. Wenn ich allerdings versuche auf externen 8mhz takt umzustellen, steht es nach dem flashen auf ext.clock und ist "verify and programming disabled". so habe ich wohl schon zwei atmega8 geschrottet...

danke m.a.r.v.i.n...

m.a.r.v.i.n
20.07.2009, 19:21
Hallo inka,

Entsprechend laufen dann auch die Timer und der UART langsamer. Deshalb funktioniert die serielle Ausgabe nicht.

Wahrscheinlich hast du auf 'external clock' oder 'external RC oszillator' gestellt. Das geht natürlich schief. Da der Asuro keinen externen Takt oder Oszillator hat, sondern nur einen Quarz Resonator. Deshalb wäre 'external crystal/resonator' richtig gewesen.
Mit dem AVR Fuse Calculator komme ich auf folgende Werte:
Low: 0xBF, High: 0xD9
http://www.engbedded.com/fusecalc/

vistauser
20.07.2009, 20:23
Danke inka, danke m.a.r.v.i.n,
...für die Frage und für die Antwort.
Genau dieses Problem hatte ich heute. Nachdem es mir erstmalig gelang, den ASURO mit einen nagelneuen ATmega8L via ISP zu programmieren. Der Selbstest lief zuerst 10x langsamer als mit dem Original mega8L.
Mit m.a.r.v.i.n seinen Werten ist alles wie es sein soll: auch die IR-Navigation von Radbruch ist nun sowas von doll! Die wollte vorher auch nicht.

Ich trinke jetzt gleich ein Bier auf euer Wohl.

LG Olaf