Forum: Mikrocontroller und Digitale Elektronik pollin atmel evaluationboard: textausgabe auf serielle schnittstelle unter linux


von Martin Z. (Gast)


Lesenswert?

alsooo ich hab mir das atmel evaluationboard ver 2.01 von pollin gekauft
habe archlinux und mit avrdude das testprogramm von pollin auf meinen 
atmega32 gespielt und das läuft auch alles soweit nuuuur ich bekomms 
nich gebacken mir die ausgabe vom programm anzeigen zu lassen...
also eigendlich sollte das testprogramm den text "atmel evaliationboard" 
(oder so ähnlich) über die serielle schnittstelle an den pc schicken
habe dazu das kabel an den rs-232 angeschlossen und im terminal cat 
/dev/ttyS0 ausprobiert und auch reset auf dem board gedrückt usw und es 
kommt einfach garnichts beim pc an ...

danke im vorraus

von Schnattstulle (Gast)


Lesenswert?

Nimm ein Terminalprogramm
minicom, gtkterm, microcom usw, je nach Distribution, Geschmack...

von ich (Gast)


Lesenswert?

JP1 + JP2 installiert?

von Martin Z. (Gast)


Lesenswert?

jumper sind alle drinne

von Martin Z. (Gast)


Lesenswert?

minicom is iwie komisch... und die anderen gibs für meine distri iwie 
nicht
kannst du mir die optionen bei minicom sagen?

von TuxFux (Gast)


Lesenswert?

dr zoidberg schrieb:
> kannst du mir die optionen bei minicom sagen?


man minicom
minicom -h

Alternativ
tail -f /dev/ttyS0
(unter der Annahme, dass ttyS0 der korrekte Port ist und der Port 
richtig konfiguriert wurde, wenn nicht hilft "setserial")

TuxFux

von Martin Z. (Gast)


Lesenswert?

in die manual hab ich ja schon geguckt das is ja das wo ich nich so 
recht schlau drauß werde.... deswegen hatte ich ja nach den konkreten 
optionen gefragt

tail -f /dev/ttyS0   bewirkt garnichts

was muss denn da konfiguriert werden und wie?



TuxFux schrieb:
> dr zoidberg schrieb:
>> kannst du mir die optionen bei minicom sagen?
>
>
> man minicom
> minicom -h
>
> Alternativ
> tail -f /dev/ttyS0
> (unter der Annahme, dass ttyS0 der korrekte Port ist und der Port
> richtig konfiguriert wurde, wenn nicht hilft "setserial")
>
> TuxFux

von TuxFux (Gast)


Lesenswert?

"tail -f" gibt das Ende einer Datei aus, mit "-f" wartet es bis sich die 
Datei am Ende ändert und gibt dann das neue Ende aus.
Das bedeutet, wenn - während "tail" läuft - Daten über die serielle 
Schnittstelle kommen, dann sollte tail diese Daten ausgeben ...

Damit das funktioniert müssen aber natürlich die Paremter für die 
serielle Schnittstelle korrekt eingestellt sein - Baudrate, Stopbits, 
... welche Werte du nehmen musst, steht vermutlich in der 
Gebrauchsanweisung von deinem Board (vermutlich 9600 baud, 8 Byte, 1 
Stopbit). Setzen kannst du die Werte mit "setserial".

Alternativ "minicom" - da kannst du das alles von der "Oberfläche" aus 
machen. Wenn du minicom gestartet hast kannst du mit "CTRL-A" glaube ich 
das Menü aufrufen ... genaueres steht aber definitiv in der man-page.

(und sorry: Wenn die man-page für dich nicht aussagekräftig genug ist - 
überleg dir zu Windows zu wechseln, weil du dann mit Linux nicht froh 
wirst)

TuxFux

von Peter ⛄ W. (Firma: Huddel und Brassel Ltd.) (jaffel) Benutzerseite


Lesenswert?

Vor allem sollte man sich Gross und Kleinschreibung angewoehnen, denn 
auch das macht bei Linux einen Unterschied.
Wenn ich dieses Geschreibsel da lesen muss, wird mir eher uebel, als das 
ich Lust haette darauf zu antworten.

TuxFux schrieb:
> (und sorry: Wenn die man-page für dich nicht aussagekräftig genug ist -
> überleg dir zu Windows zu wechseln, weil du dann mit Linux nicht froh
> wirst)

Und am Ende hat er nur keine Rechte fuer das Device..

von Martin Z. (Gast)


Lesenswert?

sudo setserial -G /dev/ttyS0
/dev/ttyS0 uart 16550A port 0x03f8 irq 4 baud_base 115200 spd_normal 
skip_test

das is die aktuelle konfuguration... das muss ich an das board anpassen? 
und dann ? mit cat auslesen?

und ich bin kein linux anfänger ich benutz das schon ettliche jahre
bin nur anfänger was microcontroller und serielle schnittstelle angeht..
in der manpage sind einfach zu viele begriffe mit den ich nich 
sonderlich viel anfangen kann oder nicht weiß welche optionen man in dem 
fall angeben muss



TuxFux schrieb:
> "tail -f" gibt das Ende einer Datei aus, mit "-f" wartet es bis sich die
> Datei am Ende ändert und gibt dann das neue Ende aus.
> Das bedeutet, wenn - während "tail" läuft - Daten über die serielle
> Schnittstelle kommen, dann sollte tail diese Daten ausgeben ...
>
> Damit das funktioniert müssen aber natürlich die Paremter für die
> serielle Schnittstelle korrekt eingestellt sein - Baudrate, Stopbits,
> ... welche Werte du nehmen musst, steht vermutlich in der
> Gebrauchsanweisung von deinem Board (vermutlich 9600 baud, 8 Byte, 1
> Stopbit). Setzen kannst du die Werte mit "setserial".
>
> Alternativ "minicom" - da kannst du das alles von der "Oberfläche" aus
> machen. Wenn du minicom gestartet hast kannst du mit "CTRL-A" glaube ich
> das Menü aufrufen ... genaueres steht aber definitiv in der man-page.
>
> (und sorry: Wenn die man-page für dich nicht aussagekräftig genug ist -
> überleg dir zu Windows zu wechseln, weil du dann mit Linux nicht froh
> wirst)
>
> TuxFux

von Martin Z. (Gast)


Lesenswert?

also erstmal vielen dank für die freundlichkeit is immer toll nette 
menschen kennenzulernen die sich nur für die wichtigen dinge des lebens 
interessieren ne?

und ja ich bin total verblödet und weiß nich das mal root rechte dafür 
brauch... danke auch für die beleidigung




Peter W. schrieb:
> Vor allem sollte man sich Gross und Kleinschreibung angewoehnen, denn
> auch das macht bei Linux einen Unterschied.
> Wenn ich dieses Geschreibsel da lesen muss, wird mir eher uebel, als das
> ich Lust haette darauf zu antworten.
>
> TuxFux schrieb:
>> (und sorry: Wenn die man-page für dich nicht aussagekräftig genug ist -
>> überleg dir zu Windows zu wechseln, weil du dann mit Linux nicht froh
>> wirst)
>
> Und am Ende hat er nur keine Rechte fuer das Device..

von Peter ⛄ W. (Firma: Huddel und Brassel Ltd.) (jaffel) Benutzerseite


Lesenswert?

Laecherlich. Nun machst einen auf beleidigt, weil man dir sagt, das 
deine Schreiberei kein Mensch lesen kann ? Na mir soll es egal sein.

Das man fuer ein Device Root-Rechte braucht ist mir auch neu. So viel zu 
deinen Linux-Kentnissen. TuxFux hat schon Recht.

von Martin Z. (Gast)


Lesenswert?

ja als würd ich mich von dir beleidigt fühlen es geht um den versuch 
mich zu beleidigen indem du mich für blöd erklärst

und zum thema root rechte:

setserial /dev/ttyS0
/dev/ttyS0: Permission denied

cat /dev/ttyS0
cat: /dev/ttyS0: Keine Berechtigung


naja wie auch immer tut ja nix zur sache
spaar dir einfach deine wichtigtuerei das hilft keinem und das braucht 
auch keiner. wenn du keine ahnung hast schreib halt nix und fertig.





Peter W. schrieb:
> Laecherlich. Nun machst einen auf beleidigt, weil man dir sagt, das
> deine Schreiberei kein Mensch lesen kann ? Na mir soll es egal sein.
>
> Das man fuer ein Device Root-Rechte braucht ist mir auch neu. So viel zu
> deinen Linux-Kentnissen. TuxFux hat schon Recht.

von Tom M. (tomm) Benutzerseite


Lesenswert?

dr zoidberg schrieb:
> über die serielle schnittstelle an den pc schicken
> habe dazu das kabel an den rs-232 angeschlossen und im terminal cat
> /dev/ttyS0 ausprobiert und auch reset auf dem board gedrückt usw und es
> kommt einfach garnichts beim pc an ..

Ist deine serielle Schnittstelle "frei"? Läuft da nicht etwa ein getty 
drauf?
1
lsof /dev/ttyS0

Ich verwende meistens screen(1), in der ARt:
1
screen /dev/ttyS0 57600

Welche Baudrate verwendet dein Board?

(ev. wirst du sudo verwenden müssen, die Kommandos als superuser 
starten, oder die sekundären Gruppen deines Users ändern wollen).

von PittyJ (Gast)


Lesenswert?

Ich würde erst einmal schauen, ob wirklich ein Signal anliegt, oder es 
schon vorher verschütt gegangen ist.
Ich bevorzuge dabei immer ein Oszilloskop, dann kann man z.B. am
Prozessor-Ausgang mal messen, ob der freigeschaltet ist, und da wirklich 
etwas herauskommt. Und dann weiterarbeiten bis zum Eingang am PC.
Erst dann braucht man schauen, ob das Terminalprogramm richtig 
konfiguriert ist.

von Peter ⛄ W. (Firma: Huddel und Brassel Ltd.) (jaffel) Benutzerseite


Lesenswert?

Etwas uebertrieben, meinst du nicht ? Ein einfacher loop-back reicht 
doch voellig aus.

von Martin Z. (Gast)


Lesenswert?

danke erstmal

also bei
1
lsof /dev/ttyS0

 kommt nichts und bei
1
screen /dev/ttyS0 57600

auchnicht
die baudrate ist laut beschreibung 9600



Tom M. schrieb:
> dr zoidberg schrieb:
>> über die serielle schnittstelle an den pc schicken
>> habe dazu das kabel an den rs-232 angeschlossen und im terminal cat
>> /dev/ttyS0 ausprobiert und auch reset auf dem board gedrückt usw und es
>> kommt einfach garnichts beim pc an ..
>
> Ist deine serielle Schnittstelle "frei"? Läuft da nicht etwa ein getty
> drauf?
>
>
1
> lsof /dev/ttyS0
2
>
>
> Ich verwende meistens screen(1), in der ARt:
>
>
1
> screen /dev/ttyS0 57600
2
>
>
> Welche Baudrate verwendet dein Board?
>
> (ev. wirst du sudo verwenden müssen, die Kommandos als superuser
> starten, oder die sekundären Gruppen deines Users ändern wollen).

von Martin Z. (Gast)


Lesenswert?

naja da ich noch nich wirklich viel gemacht hab besitzt ich sowas wie 
ein Oszilloskop noch nicht...aber wäre wohl hilfreich
naja vielleicht sollte ich es mal über windows versuchen da gibts 
wenigstens ne detailierte beschreibung von pollin zu


PittyJ schrieb:
> Ich würde erst einmal schauen, ob wirklich ein Signal anliegt, oder es
> schon vorher verschütt gegangen ist.
> Ich bevorzuge dabei immer ein Oszilloskop, dann kann man z.B. am
> Prozessor-Ausgang mal messen, ob der freigeschaltet ist, und da wirklich
> etwas herauskommt. Und dann weiterarbeiten bis zum Eingang am PC.
> Erst dann braucht man schauen, ob das Terminalprogramm richtig
> konfiguriert ist.

von Karl H. (kbuchegg)


Lesenswert?

Oszi wär gut.
Aber zur Not reicht für eine UART auch eine LED.

LED-Vorwiderstand. Das eine Ende an GND mit dem anderen Ende die Tx 
Leitung vom µC antippen. Wenn der sendet (den schickt man daher am 
Besten in eine Schleife, so dass er ständig sendet), dann sieht man die 
LED bei 9600 Baud noch blinken. Zwar schnell blinken, aber es ist noch 
eindeutig als blinken (besser: blintzeln) identifizierbar.

Und dann gibts ja auch noch die Möglichkeit mit der Baudrate runter zu 
gehen.

von Martin Z. (Gast)


Lesenswert?

baudrate auf 1200 und es klappt :)
fragt sich nur warum man die runtersetzen muss....

aufjedefall vielen dank

von Krapao (Gast)


Lesenswert?

Weil dein AVR anscheinend mit einer Taktrate/8 läuft also statt 9600 nur 
9600/8 = 1200 Baud. Manche AVRs haben eine AVR Fuses, die diese 
Teilung macht und diese Fuse ist ab Werk aktiv.

von Krapao (Gast)


Lesenswert?


von Martin Z. (Gast)


Lesenswert?

das is aber der atmega32 16 PU der also 16 mhz und der quarz aufm board 
is auch 16 mhz ... das fuses sagt mir nichts aber da werd ich mich noch 
schlaulesen

hat das vieleicht damit zu tun das ich n falschen quarz eingelötet hab? 
da war nämlich einer zuviel bei der lieferung ein A16.000 und zwei 
K16.000 und ich hab den k 2 mal genomm


Krapao schrieb:
> Weil dein AVR anscheinend mit einer Taktrate/8 läuft also statt 9600 nur
> 9600/8 = 1200 Baud. Manche AVRs haben eine AVR Fuses, die diese
> Teilung macht und diese Fuse ist ab Werk aktiv.

von Krapao (Gast)


Lesenswert?

MegaHz nicht milliHz :-)
^            ^

Die Angabe auf dem AVR bzw. in der Beschreibung ist die spezifizierte 
max. Taktrate für den µC unter gewissen Bedingungen (z.B. 
Versorgungsspannung und Taktquelle).

Die tatsächliche Taktrate hängt von den Betriebsbedingungen und der 
Schaltung ab.

Die Schaltung hast du (bzw. Pollin) mit dem externen Quarz gelöst, jetzt 
musst du noch die passenden Betriebsbedingungen einstellen, d.h. die 
Softwareinitialiserung für die gewollte Baudrate machen und die Fuses 
für die gewollte Taktrate entsprechend einstellen.

von Peter ⛄ W. (Firma: Huddel und Brassel Ltd.) (jaffel) Benutzerseite


Lesenswert?

Wenn ich das richtig im Kopf habe, steht der ATmega32 standardmaessig 
auf 1MHz intern. Wenn er an den Fuses nichts geaendert hat...

von Karl H. (kbuchegg)


Lesenswert?

> das is aber der atmega32 16 PU der also 16 mhz und der
> quarz aufm board is auch 16 mhz ...

Das heißt noch lange nicht, dass der Quarz auch benutzt wird.

von Krapao (Gast)


Lesenswert?

Schau bei Gelegenheit auch in die Artikelsammlung insbesondere in das 
AVR-Tutorial, das AVR-GCC-Tutorial und die beiden Artikel zu den Pollin 
Eval-Boards (Funk- und Normales-).

von Martin Z. (Gast)


Lesenswert?

ok ich werd erstmal einiges lesen :)
danke nochmal für die ganzen infos

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.