Quellcode in C für eine Matrixtastatur 3x4 Tasten?

Antwort

Hier ist ein einfacher Quellcode in C für eine 3x4-Matrix-Tastatur. Dieser Code geht davon aus, dass du eine Mikrocontroller-Plattform wie Arduino verwendest, um die Tasten zu scannen. ```c #include <stdio.h> #include <wiringPi.h> #define ROWS 3 #define COLS 4 int rowPins[ROWS] = {0, 1, 2}; // GPIO-Pins für die Zeilen int colPins[COLS] = {3, 4, 5, 6}; // GPIO-Pins für die Spalten char keys[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; void setup() { wiringPiSetup(); // Initialisiere WiringPi // Setze Zeilen als Ausgänge und Spalten als Eingänge for (int i = 0; i < ROWS; i++) { pinMode(rowPins[i], OUTPUT); digitalWrite(rowPins[i], HIGH); // Setze Zeilen auf HIGH } for (int i = 0; i < COLS; i++) { pinMode(colPins[i], INPUT); pullUpDnControl(colPins[i], PUD_UP); // Aktiviere Pull-Up-Widerstand } } char getKey() { for (int i = 0; i < ROWS; i++) { digitalWrite(rowPins[i], LOW); // Aktiviere die aktuelle Zeile for (int j = 0; j < COLS; j++) { if (digitalRead(colPins[j]) == LOW) { // Wenn Taste gedrückt while (digitalRead(colPins[j]) == LOW); // Warte, bis Taste losgelassen wird digitalWrite(rowPins[i], HIGH); // Setze Zeile zurück return keys[i][j]; // Gebe den Wert der Taste zurück } } digitalWrite(rowPins[i], HIGH); // Setze Zeile zurück } return '\0'; // Keine Taste gedrückt } int main() { setup(); char key; while (1) { key = getKey(); if (key != '\0') { printf("Taste gedrückt: %c\n", key); } } return 0; } ``` Dieser Code initialisiert die Pins für die Zeilen und Spalten der Matrix-Tastatur, scannt die Tasten und gibt die gedrückte Taste auf der Konsole aus. Stelle sicher, dass du die richtigen GPIO-Pins für deine Hardware verwendest.

Kategorie: Programmierung Tags: C Matrix Tastatur
Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Quellcode in Bascom für die Abfrage einer 3x4 Matrixtastatur.

Um eine 3x4-Matrix-Tastatur in Bascom zu verwenden, kannst du den folgenden Beispielcode nutzen. Dieser Code zeigt, wie du die Tasten abfragen und die gedrückte Taste identifizieren kannst. ```b... [mehr]

Wie kann ich in einem struct auf eine Zahl zugreifen, zum Beispiel auf struct.li[0][0]?

In der von dir angegebenen Struktur handelt es sich um ein zweidimensionales Array in einer Programmiersprache wie C oder C++. Um auf eine Zahl in diesem Array zuzugreifen, kannst du den Index verwend... [mehr]

Wie füge ich einen 3D-Eigenvektor in die erste Spalte einer Eigen-Matrix(3, p) in C++ ein?

Um in eine Eigen-Matrix in C++ eine Spalte einzufügen, kannst du die Methode `col()` verwenden, um auf die gewünschte Spalte zuzugreifen, und dann die Werte des 3D-Vektors zuweisen. Hier ist... [mehr]

In z/OS C einen String in Großbuchstaben umwandeln?

In z/OS C, you can convert a string to uppercase using the `toupper` function from the C standard library. Here’s a simple example of how to do this: ```c #include <stdio.h> #include <... [mehr]

Was ergibt np.array([np.eye(2)] * 4)?

Der Ausdruck `np.array([np.eye(2)] * 4)` erstellt ein NumPy-Array, das vier identische 2x2-Einheitsmatrizen enthält. Hier ist eine kurze Erklärung, was passiert: 1. `np.eye(2)` erzeugt eine... [mehr]

C-Funktion gibt String zurück?

In C gibt es keine native Unterstützung für Strings wie in höheren Programmiersprachen. Stattdessen werden Strings als Arrays von `char` behandelt, die mit einem Null-Zeichen (`'\0... [mehr]

Wie kann ich in C die Anzahl der gesetzten Bits einer Zahl bis 255 ermitteln?

Um die Anzahl der gesetzten Bits (1-Bits) einer Zahl bis 255 in C zu ermitteln, kannst du die Funktion `__builtin_popcount` verwenden, die in GCC und Clang verfügbar ist. Hier ist ein einfaches B... [mehr]

Wie zähle ich die Anzahl der Wörter mit 3, 4 und 5 Buchstaben in C?

Um die Anzahl der Wörter mit 3, 4 und 5 Buchstaben in einem gegebenen Text zu zählen, kannst du eine einfache C-Programmstruktur verwenden. Hier ist ein Beispiel, wie du das umsetzen kannst:... [mehr]

Zähle die Wörter mit 3, 4 oder 5 Buchstaben in C mit einer for-Schleife und nur stdio.h.

Um die Anzahl der Wörter mit 3, 4 und 5 Buchstaben in einem gegebenen Text zu zählen, kannst du eine einfache C-Programmstruktur verwenden. Hier ist ein Beispiel, das zeigt, wie du dies mit... [mehr]