Vor Jahren encoder von Hannes Lux in Assembler in einem DDS Projekt, verwendet. https://www.radiomuseum.org/forum/dds_generator_evolution.html Jetzt beschäftige ich mit dem si5351 und erweitere um div. Funktionen. https://create.arduino.cc/projecthub/CesarSound/10khz-to-120mhz-vfo-rf-generator-with-si5351-and-arduino-3a7cad Es ist in Arduino c geschrieben. Der Encoder verwendet pinchange interrupts. Funktioniert an sich gut. Da ich von Assembler komme, habe ich die Encoderroutine auf c, als Übung samt Verwendung von Timer Interrupts, übersetzt. Bitte um ggfs nur sachdienliche Kommentare. Code ist sehr kurz, aber speziell wegen geringer Erfahrung.
:
Bearbeitet durch User
Rudi D. schrieb: > Es ist in Arduino c geschrieben. Ja. > Der Encoder verwendet pinchange > interrupts. Nein, einen 1ms timer interrupt. > Funktioniert an sich gut. Schön. Wobei er nur 0, 1 oder 2 liefert. Wenn das wenigstens 0, 1 und -1 wäre, dann könnte man zählen. > https://create.arduino.cc/projecthub/CesarSound/10khz-to-120mhz-vfo-rf-generator-with-si5351-and-arduino-3a7cad Ich hoffe, ich muss mir das nicht angucken.
hi mawin solche Erkenntnisse wollte ich mit meiner Bitte vermeiden. Wenn jemand -1 haben will, so ersetzt man die 2 in der LUT mit -1. Das ist doch nicht der Kern.
:
Bearbeitet durch User
Rudi D. schrieb: > Der Encoder verwendet pinchange > interrupts. Funktioniert an sich gut wie kommt man darauf das Pinchange eine gute Idee ist, wird denn entprellt? Ich habe auch nach 1ms im Timerinterrupt entprellt nach Dannegger. Ich würde gerne wissen warum es die neue Routine gibt und was dieser Satz heissen soll? Rudi D. schrieb: > solche Erkenntnisse wollte ich mit meiner Bitte vermeiden. also ist hier ein Müllplatz wo einfach nur Code abgekippt wird! Rudi D. schrieb: > Funktioniert an sich gut. was heisst das? immer, gelegentlich? Rudi D. schrieb: > Bitte um ggfs nur sachdienliche Kommentare. also eben keine Kommentare erwünscht?
Joachim B. schrieb: > > wie kommt man darauf das Pinchange eine gute Idee ist, wird denn > entprellt? > Ich habe auch nach 1ms im Timerinterrupt entprellt nach Dannegger. Weil ich die Originalversion aufgebaut habe. Aber wie zu lesen auf Timer2 Interrupt umgestellt habe. Und in meiner Einleitung steht "peda". Wieder so eine unnötige Schnellschussantwort.
MaWin schrieb: > Rudi D. schrieb: >> Es ist in Arduino c geschrieben. > > Ja. Nein. Es gibt kein Arduino C. Nur weil hinten ino dransteht ist nicht ein besonderes C sondern "nur" Gnu-C.
jo mei schrieb: > Nein. Es gibt kein Arduino C. Nur weil hinten ino dransteht ist > nicht ein besonderes C sondern "nur" Gnu-C. Arduino C ist C/C++ unter Verwendung der Arduino Library Umgebung, genau so wie Posix C ein Programm in C unter Verwendung der Posix Libraryfunktionen ist.
Rudi D. schrieb: > Wenn jemand -1 haben will, so ersetzt man die 2 in der LUT mit -1. Das geht aber bei einem uint8_t Array schief... Rudi D. schrieb: > Bitte um ggfs nur sachdienliche Kommentare. Was ist jetzt die Frage? Warum sollen wir den Code ansehen und diskutieren? Wo liegt das Problem? Rudi D. schrieb: > Wieder so eine unnötige Schnellschussantwort. Du fragst nach Kommentaren und wenn welche kommen, dann wirst du grantig?
:
Bearbeitet durch Moderator
Lothar M. schrieb: > Rudi D. schrieb: >> Wenn jemand -1 haben will, so ersetzt man die 2 in der LUT mit -1. > Das geht aber bei einem uint8_t Array schief... Richtig, aber das weiss man, aber auf jeden Fall der Compiler. > > Rudi D. schrieb: >> Bitte um ggfs nur sachdienliche Kommentare. > Was ist jetzt die Frage? Warum sollen wir den Code ansehen und > diskutieren? Wo liegt das Problem? Im Forum kommen oft "merkwürdige" Kommentare, war als reine Vorwegnahme für Derartige gedacht. Bin ja schließlich schon lange dabei und kenne das. Die Encodersource von Hannes Lux habe ich von hier. > > Rudi D. schrieb: >> Wieder so eine unnötige Schnellschussantwort. > Du fragst nach Kommentaren und wenn welche kommen, dann wirst du > grantig? Schnellschussantwort bezieht sich auf Kommentare, ohne die Source gelesen zu haben. Da steht natürlich auch "peda", also Antwort überflüssig.
Lothar M. schrieb: > Das geht aber bei einem uint8_t Array schief... Wieso? Kann man da nicht 0xff reinschreiben?
Rudi D. schrieb: > also Antwort überflüssig. Der ganze Thread ist überflüssig. Niemand braucht deinen Code, außer du. Für dich ist er gut. Lasen wir es dabei.
Stefan ⛄ F. schrieb: > Rudi D. schrieb: > >> also Antwort überflüssig. > > Der ganze Thread ist überflüssig. Niemand braucht deinen Code, außer du. > Für dich ist er gut. Lasen wir es dabei. Außer du? Es heißt „außer dir“. Aber lasen wir das.
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.