Hallo, ich versuche gerade zwischen zwei Atmega328PB via PJON-Bitbanging eine Verbindung herzustellen. Mein Code ist quasi analog zu https://github.com/gioblu/PJON/blob/master/examples/ARDUINO/Local/SoftwareBitBang/BlinkTest/Transmitter/Transmitter.ino und https://github.com/gioblu/PJON/blob/master/examples/ARDUINO/Local/SoftwareBitBang/BlinkTest/Receiver/Receiver.ino nur mit dem Unterschied, dass ich keine LED leuchten lasse sondern 100 Nachrichten pro Sekunde an den Empfänger versende und dort die Anzahl der eingetroffenen Nachrichten pro Sekunde ausgebe. Das funktioniert auch ganz ordentlich, aber nur auf den Pins von Port B. Dort bekomme ich auf allen Pins ca. 66 Nachrichten/s. Auf den Pins an Port B oder E hingegen schwankt das ganze stark zwischen 0 und 20. Noch schlimmer wirds, wenn ich auch das Versenden über einen Pin von Port C mache - dann kommt nämlich überhaupt nix mehr am zweiten Atmega an. Probehalber habe ich das auch mal auf einem Arduino Nano nachgebaut, da bekomm ich auf allen Ports die 66 Nachrichten/s. Hat da jemand eine Idee, an was das liegen könnte? Am Unterschied zwischen P und PB dürfte es laut entsprechender Doku von Atmel wohl nicht liegen.
Sollen wir über hypotetisch quasi analogen Code diskutieren, oder zeigst du uns deinen code und bitte den exakten Download Link oder Quelltext der verwendeten Bibliothek? Bei der Gelegenheit kannst du auch gleich noch die FUSES nachreichen. > Das funktioniert auch ganz ordentlich, aber nur auf den Pins von Port B. > Auf den Pins an Port B ... hingegen schwankt das ganze stark. Kannst du dich für eine der beiden Aussagen entscheiden? Auf deinem Arduino Nano gibt es keinen Port E. Also hast du Unterschiede nur auf Port C beobachtet, richtig? Hast du den Code zwischendurch neu compiliert? Es wäre spannend, zu erfahren, ob sich das Programm vom ATmega328P auf dem PB anders verhält.
Hi
> Atmega328PB <> Atmeg 328pa!
MfG Spess
Franz schrieb: > Noch schlimmer wirds, wenn ich auch das Versenden über einen > Pin von Port C mache - dann kommt nämlich überhaupt nix mehr am zweiten > Atmega an. Du solltest die Versorgungsspannung für Port C über den Pin AVCC bereit stellen. Sonst tut sich auf dem Port gar nichts.
p.s. Zeig mal deinen Schaltplan, so wie du die Schaltung aktuell aufgebaut hast.
Stefan ⛄ F. schrieb: > Kannst du dich für eine der beiden Aussagen entscheiden? > > Auf deinem Arduino Nano gibt es keinen Port E. Also hast du Unterschiede > nur auf Port C beobachtet, richtig? > > Hast du den Code zwischendurch neu compiliert? Es wäre spannend, zu > erfahren, ob sich das Programm vom ATmega328P auf dem PB anders verhält. Oh, sorry, vertippt. Korrekt sollte sein: Port D läuft gut, alle anderen machen Probleme. Code wurde jedes mal neu kompiliert. Allein, weil einmal standard Arduino und einmal via MiniCore (https://github.com/MCUdude/MiniCore/). Ich hatte jetzt keinen Schaltplan angehängt, weil ich erstmal nur die Theorie dahinter wissen wollte, sprich ob es irgendeinen Faktor geben kann, der für diese Unterschiede in den Ports sorgen könnte. Aber im Anhang dann trotzdem der aufs Wesentliche reduzierte Schaltplan. Ich nutze also PD3, PD5, PD2, PC4, PC2 und PC1. Das ganze ist schon als echte Platine vorhanden. Die Tests mit den Ports B und E habe ich entsprechend in fliegender Verdrahtung gemacht.
Vergiss mal deinen Minicore und dass das gleiche Binary (vom ATmega328P) auch auf dem ATmega328PB laufen. Damit kannst du die erste Entscheidungs-Weiche stellen: Software oder Hardware.
Stefan ⛄ F. schrieb: > Vergiss mal deinen Minicore und dass das gleiche Binary (vom ATmega328P) > auch auf dem ATmega328PB laufen. Oh, wow - das Arduino Nano-Kompilat läuft tatsächlich problemlos. Da wäre ich ja nie drauf gekommen, vielen Dank!
Franz schrieb: > Oh, wow - das Arduino Nano-Kompilat läuft tatsächlich problemlos. Damit ist also klar, dass der Unterschied in der Software steckt. Jetzt muss man wohl einen Blick in die Quelltexte werfen.
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.