BJ-Keyer  1.03
Morsekeyer für 2 TRX und 6 Morsetasten
encoder.c-Dateireferenz

Drehencoder Library. Mehr ...

#include <avr/io.h>
#include <avr/interrupt.h>
#include "encoder.h"
Include-Abhängigkeitsdiagramm für encoder.c:

Typdefinitionen

typedef enum EButtonState tEButtonState
 

Aufzählungen

enum  EButtonState { ButtonState_Unpressed , ButtonState_Pressed , ButtonState_Hold , ButtonState_Released }
 

Funktionen

void EncoderInit (void)
 Initialisierung des Drehencoders und der Startwerte. Mehr ...
 
void EncoderPolling (void)
 EncoderPolling. Mehr ...
 
int8_t EncodeRead (void)
 
int8_t EncoderRead (char Ueberlauf)
 Liest die akt. Position des Drehencoders. Mehr ...
 
void EncoderWrite (int8_t EncoderPos)
 Setzt die aktuelle Position des Drehencoders. Mehr ...
 
void EncoderMinMax (int8_t EncoderMin, int8_t EncoderMax)
 Setzt den minimalen und maximalen Bereich des Drehencoders. Mehr ...
 
tEButtonPressedState EncoderGetButtonState (void)
 Liefert den Status des Tasters vom Drehencoder. Mehr ...
 

Variablen

int8_t DrehgeberPosition
 akt. Drehencoderposition Mehr ...
 
int8_t DrehgeberMax = 127
 maximaler Wert des Drehgebers Mehr ...
 
int8_t DrehgeberMin = -127
 minimaler Wert des Drehgebers Mehr ...
 
volatile int16_t iButtonPressedCounter = 0
 Zähler für kurzen Tastendruck. Mehr ...
 
volatile int16_t iButtonDebounceCycles = 0
 Zähler für Entprellung. Mehr ...
 
volatile int16_t iButtonPressedLongCycles = 0
 Zähler für langen Tastendruck. Mehr ...
 
volatile int8_t enc_delta
 Delta des Encoders bei Betätigung. Mehr ...
 
static int8_t last
 letzter Wert des Encoders Mehr ...
 
volatile tEButtonState buttonState = ButtonState_Unpressed
 
volatile tEButtonPressedState buttonPressed = ButtonPressed_Unpressed
 

Ausführliche Beschreibung

Drehencoder Library.

Datum
2014-12-04
Autor
Frank Klee
    Basisroutinen zum Abfragen eines Drehencoders mittels Polling.
    Quelle: https://www.mikrocontroller.net/articles/Drehgeber

Formatierungen und Umbenennungen der Funktionen

Autor
Tom, DL7BJ
Datum
2023-03-23

Dokumentation der Aufzählungstypen

◆ EButtonState

Aufzählungswerte
ButtonState_Unpressed 

Taster nicht gedrückt.

ButtonState_Pressed 

Taster gedrückt.

ButtonState_Hold 

Taster gehalten.

ButtonState_Released 

Taster geöffnet.

Dokumentation der Funktionen

◆ EncoderGetButtonState()

tEButtonPressedState EncoderGetButtonState ( void  )

Liefert den Status des Tasters vom Drehencoder.

Parameter
none
Rückgabewerte
tEButtonPressedState

◆ EncoderInit()

void EncoderInit ( void  )

Initialisierung des Drehencoders und der Startwerte.

Parameter
none
Rückgabewerte
none

◆ EncoderMinMax()

void EncoderMinMax ( int8_t  EncoderMin,
int8_t  EncoderMax 
)

Setzt den minimalen und maximalen Bereich des Drehencoders.

Parameter
EncoderMinminimaler Wert des Drehencoders
EncoderMaxmaximaler Wert des Drehencoders
Rückgabewerte
none

◆ EncoderPolling()

void EncoderPolling ( void  )

EncoderPolling.

    Abfrage des Drehencoders und des Tasters
    Wird vom Timer 0 aufgerufen
Parameter
none
Rückgabewerte
none

◆ EncoderRead()

int8_t EncoderRead ( char  Ueberlauf)

Liest die akt. Position des Drehencoders.

Parameter
Ueberlaufgrößer +127, -127
Rückgabewerte
AktuellePosition des Drehencoders

◆ EncoderWrite()

void EncoderWrite ( int8_t  EncoderPos)

Setzt die aktuelle Position des Drehencoders.

Parameter
EncoderPos- die Position des Drehencoders
Rückgabewerte
none

Variablen-Dokumentation

◆ DrehgeberMax

int8_t DrehgeberMax = 127

maximaler Wert des Drehgebers

◆ DrehgeberMin

int8_t DrehgeberMin = -127

minimaler Wert des Drehgebers

◆ DrehgeberPosition

int8_t DrehgeberPosition

akt. Drehencoderposition

◆ enc_delta

volatile int8_t enc_delta

Delta des Encoders bei Betätigung.

◆ iButtonDebounceCycles

volatile int16_t iButtonDebounceCycles = 0

Zähler für Entprellung.

◆ iButtonPressedCounter

volatile int16_t iButtonPressedCounter = 0

Zähler für kurzen Tastendruck.

◆ iButtonPressedLongCycles

volatile int16_t iButtonPressedLongCycles = 0

Zähler für langen Tastendruck.

◆ last

int8_t last
static

letzter Wert des Encoders