nochmal Drehencoder

OP #6938874
Lesenswert?

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.
Angehängte Dateien:
Gast #6938894
Lesenswert?

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.
#6938978
Lesenswert?

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?
Gast #6939017
Lesenswert?

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.
Moderator (Firma: Titel) Persönliche Seite #6939021
Lesenswert?

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?
OP #6939303
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren