AskSinPP auf Mega2560?
Moderator: Co-Administratoren
-
- Beiträge: 5360
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 113 Mal
- Danksagung erhalten: 722 Mal
AskSinPP auf Mega2560?
Laut der AskSinPP-Homepage ist das System nicht kompatibel mit dem AtMega2560, nur bis zum 1284.
Ich habe es trotzdem versucht und bin gescheitert. Der CC1101 läßt sich bereits nicht initialisieren, es kommen keine Fehlermeldungen, die Portzustände sind falsch (offen, also wohl Eingänge), das Programm bleibt einfach nach Init CC stehen.
Angeschlossen ist der CC1101 an Pins 50...52 mit Levelshifter. Um zu prüfen, ob es mit dem Levelshifter geht, habe ich mal probeweise am Steckbrett die Leitungen vom 2560 abgezogen und an einen Nano (ebenfalls 5V) angeschlossen. Dort läuft alles tadellos.
Daher erstmal folgende Fragen:
1. Warum soll der 2560 nicht kompatibel sein mit AskSinPP?
2. Wie muß ich denn im 2560 die Datenpins konfigurieren? Ist für z.B. SCLK das Label "52" oder "PB1" oder "Pin-PB1" korrekt?
Ich habe es trotzdem versucht und bin gescheitert. Der CC1101 läßt sich bereits nicht initialisieren, es kommen keine Fehlermeldungen, die Portzustände sind falsch (offen, also wohl Eingänge), das Programm bleibt einfach nach Init CC stehen.
Angeschlossen ist der CC1101 an Pins 50...52 mit Levelshifter. Um zu prüfen, ob es mit dem Levelshifter geht, habe ich mal probeweise am Steckbrett die Leitungen vom 2560 abgezogen und an einen Nano (ebenfalls 5V) angeschlossen. Dort läuft alles tadellos.
Daher erstmal folgende Fragen:
1. Warum soll der 2560 nicht kompatibel sein mit AskSinPP?
2. Wie muß ich denn im 2560 die Datenpins konfigurieren? Ist für z.B. SCLK das Label "52" oder "PB1" oder "Pin-PB1" korrekt?
-
- Beiträge: 5360
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 113 Mal
- Danksagung erhalten: 722 Mal
Re: AskSinPP auf Mega2560?
Danke Jerome für die schnelle Antwort.
Ich wollte den Mega verwenden als Experimentierboard für Projekte, die später mal auf dem 328P laufen sollen und wo wegen der Ressourcenknappheit keine Debug-Ausgaben gemacht werden können.
Ich konnte mir auch eigentlich nicht vorstellen, warum AskSinPP nicht auf Mega2560 laufen sollte.
Ich habe das Steckbrett nochmal aufgebaut und die Konfiguration nochmal angepaßt. Eigentlich bilde ich mir ein, das genau so aufgebaut zu haben.
Dennoch muß ich mich entweder versteckt (Pins vertauscht?) oder in der Konfiguration was vertauscht haben - jetzt funktioniert es!
Ich wollte den Mega verwenden als Experimentierboard für Projekte, die später mal auf dem 328P laufen sollen und wo wegen der Ressourcenknappheit keine Debug-Ausgaben gemacht werden können.
Ich konnte mir auch eigentlich nicht vorstellen, warum AskSinPP nicht auf Mega2560 laufen sollte.
Ich habe das Steckbrett nochmal aufgebaut und die Konfiguration nochmal angepaßt. Eigentlich bilde ich mir ein, das genau so aufgebaut zu haben.
Dennoch muß ich mich entweder versteckt (Pins vertauscht?) oder in der Konfiguration was vertauscht haben - jetzt funktioniert es!
-
- Beiträge: 5360
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 113 Mal
- Danksagung erhalten: 722 Mal
Re: AskSinPP auf Mega2560?
Ich möchte mich nochmal an Jerome wenden.
Du hast ja bereits den MEGA2560 in dem verlinkten Projekt eingesetzt. Hast du in dieser Konstellation schon mal den FreqTest ausgeführt?
Nachdem bei mir der MEGA2560 lief, habe ich ein bestehendes Projekt draufgeflasht und alles läuft korrekt. Alle Messages werden permanent abgefangen und angezeigt. Da ich ein neues CC1101-Modul verwendet habe, wollte ich obwohl es gut aussah, den obligatorischen FreqTest ausführen.
Und genau der geht nicht. Gut, nochmal die Pinkonfiguration überprüft - ist genauso wie im Projekt. Der CC wird auch fehlerfrei initialisiert, aber danach keinerlei Empfang - obwohl es doch mit dem anderen Projekt korrekt funktioniert. Ich habe den Grund noch nicht lokalisiert, aber die Hardware kann es ja eigentlich nicht mehr sein.
Ich vermute an erster Stelle ein Problem mit dem Interrupt (GD00). Bei einer einfachen Messung habe ich folgendes gefunden:
Bei dem funktionierenden Projekt messe ich statisch eine Spannung von 0,22 V am Pin2 des Mega, beim FreqTest nur 0,06 V. Der Unterschied wird reproduzierbar durch die jeweilige Software verursacht.
Sollte das Pin hier etwa auf Output stehen? Nö, das Richtungsregister sagt Input.
Hier liegt auf den ersten Blick der wesentliche Unterschied. Sowohl beim Micro wie beim Mega liegt GD00 an Pin2. Nur ist das im ersten Fall PD2 (INT0) und beim Mega PE4 (INT4). Kann es hier beim FreqTest zu einer falschen Konfiguration des Pins kommen?
Du hast ja bereits den MEGA2560 in dem verlinkten Projekt eingesetzt. Hast du in dieser Konstellation schon mal den FreqTest ausgeführt?
Nachdem bei mir der MEGA2560 lief, habe ich ein bestehendes Projekt draufgeflasht und alles läuft korrekt. Alle Messages werden permanent abgefangen und angezeigt. Da ich ein neues CC1101-Modul verwendet habe, wollte ich obwohl es gut aussah, den obligatorischen FreqTest ausführen.
Und genau der geht nicht. Gut, nochmal die Pinkonfiguration überprüft - ist genauso wie im Projekt. Der CC wird auch fehlerfrei initialisiert, aber danach keinerlei Empfang - obwohl es doch mit dem anderen Projekt korrekt funktioniert. Ich habe den Grund noch nicht lokalisiert, aber die Hardware kann es ja eigentlich nicht mehr sein.
Ich vermute an erster Stelle ein Problem mit dem Interrupt (GD00). Bei einer einfachen Messung habe ich folgendes gefunden:
Bei dem funktionierenden Projekt messe ich statisch eine Spannung von 0,22 V am Pin2 des Mega, beim FreqTest nur 0,06 V. Der Unterschied wird reproduzierbar durch die jeweilige Software verursacht.
Sollte das Pin hier etwa auf Output stehen? Nö, das Richtungsregister sagt Input.
Hier liegt auf den ersten Blick der wesentliche Unterschied. Sowohl beim Micro wie beim Mega liegt GD00 an Pin2. Nur ist das im ersten Fall PD2 (INT0) und beim Mega PE4 (INT4). Kann es hier beim FreqTest zu einer falschen Konfiguration des Pins kommen?
-
- Beiträge: 12085
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 847 Mal
- Danksagung erhalten: 2139 Mal
- Kontaktdaten:
Re: AskSinPP auf Mega2560?
Ich habe keinen Mega2560-Aufbau mehr hier und das Projekt ist schon so lange her (da war die Welt der CC1101 noch in Ordnung^^)- ich kann dir nicht mehr genau sagen, ob ich da mal einen FreqTest gemacht habe oder nicht. Tendenz zu "eher nicht".
Nutzt du den FreqTest auch mit AvrSPI oder LibSPI?
Irgendwas war da mit Mega2560 weshalb ich im Sketch LibSPI nutzen musste... kannst du ja beim FreqTest auch mal probieren.
Nutzt du den FreqTest auch mit AvrSPI oder LibSPI?
Irgendwas war da mit Mega2560 weshalb ich im Sketch LibSPI nutzen musste... kannst du ja beim FreqTest auch mal probieren.
-
- Beiträge: 5360
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 113 Mal
- Danksagung erhalten: 722 Mal
Re: AskSinPP auf Mega2560?
In beiden Sketchen wird die AvrSPI benutzt, also auch kein Unterschied, der das erklären könnte. Im FreqTest-Sketch wird die LibSPI nur beim STM32 benutzt.
Code: Alles auswählen
#if defined ARDUINO_ARCH_STM32F1
typedef LibSPI<CC1101_CS_PIN> RadioSPI;
#else
typedef AvrSPI<CC1101_CS_PIN, CC1101_MOSI_PIN, CC1101_MISO_PIN, CC1101_SCK_PIN> RadioSPI;
#endif
So, wenn ich SPI.h includiere, dann läßt sich der Sketch auch mit LibSPI übersetzen.
Nur - dann wird der CC1101 nicht mehr initialisiert, nur Fehlermeldungen! Geht also auch nicht.
-
- Beiträge: 5360
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 113 Mal
- Danksagung erhalten: 722 Mal
Re: AskSinPP auf Mega2560?
So, es hängt tatsächlich mit dem verwendeten Pin für GD00 zusammen. Ich habe jetzt GD00 wieder wie beim Mini auf PD2 (MEGA: 19) gesteckt - und schon geht alles. Dann liegen auch wieder statisch 0,22V an dem Signal.
Warum das nur beim FreqTest so ist und nicht auch im Projekt, bleibt mir noch ein Rätsel. Sieht aber so aus, als liege es doch im Sketch begründet.
Warum das nur beim FreqTest so ist und nicht auch im Projekt, bleibt mir noch ein Rätsel. Sieht aber so aus, als liege es doch im Sketch begründet.
-
- Beiträge: 12085
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 847 Mal
- Danksagung erhalten: 2139 Mal
- Kontaktdaten:
Re: AskSinPP auf Mega2560?
Verwendest du nicht die nativen SPI Pins des MEGA2560 ?
Ich hatte Probleme mit dem Pin 8 beim Config_Button. Den habe ich im LED Projekt ja auf 13 gelegt, weil bei 8 sich alles aufgehängt hat.
-
- Beiträge: 5360
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 113 Mal
- Danksagung erhalten: 722 Mal
Re: AskSinPP auf Mega2560?
Welche sind die nativen? Doch eigentlich 50...53, so wie du das gemacht hattest.
Code: Alles auswählen
typedef AvrSPI<53, 51, 50, 52> SPIType;
Code: Alles auswählen
typedef LibSPI<53> SPIType
Ich kann's aber nochmal schnell testen.
-
- Beiträge: 12085
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 847 Mal
- Danksagung erhalten: 2139 Mal
- Kontaktdaten: