Technische Informatik; Hardwarenahe Programmierung

Testfragen Teil1

Inhalt

Testfragen

  1. Digital-IO-Beschreibung
  2. Digital-IO-Grundlegend
  3. Bitmanipulationen-Beschreibung
  4. Bitmanipulationen-Grundlegend Aufgaben
  5. Analog-IO-Beschreibung
  6. PWM-Grundlegend
  7. Interrupt-Beschreibung
  8. Interrupt-Grundlegend Aufgaben
  9. Beispielhafte Programmbeschreibung:

#include "mbed.h"

BusOut myleds(LED1, LED2, LED3, LED4);

void printb(uint8_t x) {  
    for(int i=sizeof(x)<<3; i; i--)
        putchar('0'+((x>>(i-1))&1));
    printf("\n");
}

int main() {
    uint8_t value = 0x09;
    uint8_t mask =  0x0F;
    uint8_t position = 1;       
    
    value = mask & value;
    printb(value);    
    value <<= 4;
    while((value & 1) != 1)
        value >>= position;
    myleds = value;
    printb(value);    

    while(1) {
        wait(0.25);
    }
}

a) Kommentieren Sie das Coding
b) Welche Led(s) leuchten am Ende? Was wird in Zeile 22 ausgegeben?

Programmierbeispiel

Information

Siehe Aufgaben in den einzelnen Lektionen. Vorzugsweise sollen Funktionen mit entsprechenden Parametern und Felder wenn notwendig verwendet werden. Denken sie an das EVA-Prinzip, der Trennung von Eingabe-Verarbeitung-Ausgabe durch Funktionen.

Schreiben Sie ein Programm für einen mbed-Mikrocontroller in C nach folgenden Angaben:
a) Nach dem Programmstart (Reset) wird ein Begrüßungstext im Terminal ausgeben: "Poti-Testprogramm copyright Ihr Nachname"
b) Mit dem Poti 1 kann jetzt eine Zahl zwischen -50 und +50 eingegeben werden. (nur ganze Zahlen!)
c) Mit Betätigung der Taste Joystick-Left wird der aktuelle Wert des Poti 1 eingelesen. Im Terminal wird dieser Wert ausgegeben.
d) Mit der Joystick-Taste Up wird der eingelesene Wert des Poti 1 um 7 erhöht und das Ergebnis im Terminal ausgegeben.
e) Mit der Joystick-Taste Down wird der eingelesene Wert des Poti 1 um 11 vermindert und das Ergebnis im Terminal ausgegeben.
f) Bei jeder Betätigung einer Joystick-Taste wird der Wert in ein Feld gespeichert und mit der Push Joystick-Taste Center soll der Mittelwert der letzten 10 Feldinhalte im Terminal ausgegeben werden.

Schreiben Sie ein Programm für einen mbed-Mikrocontroller in C nach folgenden Angaben:
a) Nach dem Programmstart (Reset) wird ein Begrüßungstext auf einem Terminal-Programm ausgeben: "Joystick Testprogram copyright Ihr Nachname"
b) Mit Betätigung der Taste Joystick-Left werden die äußeren blauen LEDs für 10 sec eingeschaltet.
c) Eine Betätigung dieser Taste (Joystick-Left) innerhalb der 10 sec des Leuchtens der beiden äußeren LEDs führt zu folgender Ausgabe am Terminal-Programm: Der Tastendruck der Taste Joystick-Left wird ignoriert: Die beiden äußeren LEDs leuchten.
d) Nach Ablauf der 10 sec: LEDs werden gelöscht und weiter bei b)


All wikipages