Hallo Leute. Ich progammiere jetzt seit Monaten an dieser verflixten CAN - Schnittstelle rum und habe mich des AVR-Beispiels bedient, es für GCC umgeschieben und versucht zu verstehen, was darin vorgeht. Inzwischen habe ich festgestellt, dass die Funktion zig Dinge nicht tut, die sie sollte. Heute habe ich ein Beispiel selbst geschrieben und es funktioniert. Kann es sein, dass diese beigestellten Libs, nicht nur lausig dokumentiert, sondern auch lausig programmiert sind? Hat jemand ähnliche Erfahrungen gemacht oder bin ich wieder mal nur zu doof es richtig anzuwenden?
Sei doch bitte konstruktiv und veröffentliche die "Fehler" bzw. Merkwürdigkeiten, die dir aufgefallen sind.
Nun, ich möchte nur ungern jemandem Fehler nachsagen. Immerhin habe ich bis heute nicht rausbekommen, was das Programm macht und wie man es benutzt. Mir ist nur aufgefallen, dass es z.B. die Möglichkeit gibt, einem zu senden String ein ID mit auf den Weg zu geben. Bei der vorgefertigten Leseroutine habe ich aber die Einstellung zum ID-Check nicht gefunden und in der selbstgestrickten leseroutine kam nicht die gewünschte ID raus. Also habe ich 4 Strings mit 4 IDs senden lassen und mir immer vor dem senden die 4 ID-Register angeschaut und festgestellt, dass die ID ein Zufallswert war, wovon ich glaube dass das nun nicht mehr an mir gelegen haben kann. Ich habe halt diverse Fehler in der Doku des Proz gefunden, die mich Wochen gekostet haben und in dem 2. Beispiel von AVR, welches ein Freund für mich zur Benutzung mit GCC umgeschrieben hat, zeigte der Interruptverktor ins Nirvana. Es kann die Software also nie getestet worden sein. Ähnliches habe ich bei einem publizierten ct-Projekt festgestellt. Jetzt frage ich mich, ob das erste Beispiel vieleicht auch mit der heißen Nadel gestrickt wurde und vor der Publizierung nie auch nur in die nähe des Can-Cntrollers gekommen ist. Immerhin experimentiere ich seit 8 Wochen mit diesen fertigen Routinen rum ohne auf einen grünen Zweig zu kommen und meine lausige selbststrickware funzt auf Anhieb wie gewünscht.
"habe mich des AVR-Beispiels bedient" Welches meinst Du bitte damit genau? Bei Atmel gibts die "AT90CAN128 Software Library", ist vielleicht diese gemeint? "Ähnliches habe ich bei einem publizierten ct-Projekt" Nochmal: welches genau? Ein ordentlicher Link hilft allen, die hier mitlesen beim Suchen und Raten. "Ich habe halt diverse Fehler in der Doku des Proz gefunden" Entweder es sind Denkfehler von Dir. Dann wird Dir SO niemand weiterhelfen können. Oder es sind wirklich Fehler des Proc, dann hilft Deine Aussage niemandem, den Fehler zu umgehen, und auch Atmel nicht, den Fehler zu beheben. Nochmal: sei bitte exakt. Habe dieselben Ansprüche an Dich, wie Du sie an die Autoren der Doku und des Source hast! Beim Programmieren wirst Du auch nicht glücklich werden, wenn Du so unexakt arbeitest. Obwohl: vielleicht mal Fuzzy versuchen ... Viele Grüße, Stefan
"Sei doch bitte konstruktiv" Sehe ich auch so, anstatt immer nur Wischiwaschi. Wie wärs erstmal mit dem CAN-Typ (SJA1000, MCP2515, CAN128) und dann die Source als Anhang oder nen Link darauf ? Und natürlich Deine Source und Kommentare, wo Du denn Fehler vermutest bzw. was Du wie verstanden zu haben glaubst. Peter
mein konstruktiver Beitrag wird darin bestehen, meine Can-Routine, sobald ich sie zufriedenstellend zusammengezaubert und getestet habe, hier einzustellen, auf dass ihr Gurus mein Copy_and_Past_Coder - Werk in der Luft zerreist.
nein, kein Wutzettel. Ich habe bloß ein Problem damit, mir vorzustellen, dass die Treiber, Libs und Dokus heutzutage so oberflächlich erstellt werden, dass sie vor der Publikation noch nicht einmal getestete werden. Ich wollte eigentlich nur wissen, ob das Problem häufiger Auftritt, oder ob ich das Problem bin. (Eine Frage die bisher noch nicht geklärt wurde) Ich finde den Fehler ja noch nicht einmal, weil (Meine Meinung! >> ) dieses Zeug so unübersichtlich und sinnlos zusammnegezaubert ist, darum kann ich hier ja auch nicht mit dem dicken Finger drauf zeigen und sagen : Da Issa! Ich merke nur die Auswirkungen und frage mich, was ich nun wieder falsch gemacht habe. Das mit den Gurus ist nicht zu Ernst zu nehmen, ich habe nichts gegen Verbesserungspotential. fw.
Vielleicht stellst Du ja mal die "portierte" Library und einen Link zur Original-Library in diesen Thread! Vielleicht hat ja auch derjenige, der das Portiert hat, Bockmist gebaut...
"oder ob ich das Problem bin. (Eine Frage die bisher noch nicht geklärt wurde)" Eine Frage die bisher noch nicht geklärt wurde, ist doch erstmal, worüber Du überhaupt sprichst. Du gehst ja nicht mal auf die Rückfragen ein. Wie erwartest Du dann, daß sich jemand dazu äußern kann ? In diesem Sinne gebe ich Dir recht, daß bisher Du das Problem bist. Peter
Nun gut. Im Anhang ist die umgezauberte und nicht funktionstüchtige LIB. mit all ihren Auswüchsen und hier unten der Quell des Übels. Ach ja. Der C ist ein AT90CAN128 http://www.atmel.com/dyn/resources/prod_documents/AT90CAN128_demo1_IAR.zip http://www.atmel.com/dyn/resources/prod_documents/AT90CAN128_demo2_IAR.zip @Peter Nun, ich sehe noch nicht recht, wie das helfen soll, denn ich kann mir nicht vorstellen, dass sich jetzt jemand ein Demo-Board mit AT90CAN128 aus der Rippe schneidet, die Software da rauftüdelt meine HAusaufgaben macht und postst: "Ja, Du musst ja auch vorher ... Na wie dem auch sei, ich hoffe nun ist alles beieinander ...
"Nun, ich sehe noch nicht recht, wie das helfen soll, denn ich kann mir nicht vorstellen, dass sich jetzt jemand ein Demo-Board mit AT90CAN128 aus der Rippe schneidet, die Software da rauftüdelt meine HAusaufgaben macht" Hab ich auch nirgends nicht behauptet. Aber die Leute, die den AT90CAN128 kennen und den IAR-Link gelesen haben, können doch auch nicht hellsehen, daß Du diese gemeint hast oder ? Aus den konfusen Texten vorher war es jedenfalls nicht zu entnehmen. So müssen sich mögliche Antwortwillige erst bis ins 11.Posting runterquälen. Es gibt bestimmt tausende CAN-Libs weltweit und vielleicht 20..100 davon für den AVR. Peter
- AT90CAN128-Plugin zur Simulation in AVR-Studio mal ausprobiert? Damit kann recht gut der Ablauf verfolgt werden und das CAN-Plugin liefert auch Moeglichkeiten fuer "CAN-Message-Stimuli". Duefte beim Debuggen hilfreich sein - war es zumindest "hier". - eine Fehlerquelle mglw. ein inzwischen behobener Fehler einer Bitdefintion in iocan128.h, aktuelle Version im avr-libc-cvs - Diff. der Lib.-Anpassungen gegen das Atmel-Original bzw. Markierung der gaenderten Quellzeilen wuerde helfen. - Atmel hat mglw. eine aktuellere Library, die "Version 0.3" ist ja schon etwas aelter, fragen bei avr at atmel dot com "kost' nix" Leider "hier" immer noch keine Zeit zum Bau der Proto-Hardware zum Test meiner gcc-Portierung, geschriebene Hinweise also nur vor dem Hintergrund von zumindest "virtuell" erfolgreichen Tests mit dem Simulator.
...Duefte beim Debuggen hilfreich sein - war es zumindest "hier Kann ich nicht mit um, gebe ich offen zu. ...Bitdefintion in iocan128.h, die hab ich mir schon zur Brust genommen. ..."virtuell" erfolgreichen Tests mit dem Simulator. Das ist zimlich genau das was ich vermute. Die zwei libs, die es gibt sind nicht getestete Werkzeuge sondern mit der heißen Nadel am Simulator gestrickte Tools zur Beruhigung der Massen und wer mehr will als auf 2 Boards "Ping" und "Pong" ausgeben, der ist angeschmiert.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.