Technische Informatik; Hardwarenahe Programmierung

You are viewing an older revision! See the latest version

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. Programmbeschreibung:

#include "mbed.h"

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

void print_binary(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;
    print_binary(value);    
    value <<= 4;
    while((value & 1) != 1)
        value >>= position;
    myleds = value;
    print_binary(value);    

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

a) Kommentieren Sie das Coding
b) Welche Led(s) leuchten am Ende?

Programmierbeispiel

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