Title: Standard für TI3
Course: Technische Informatik III

Standardkategorie für Fragen, die im Kontext 'TI3' freigegeben sind.

Feedback shared by this category's questions, if right: Die Antwort ist richtig.
Feedback shared by this category's questions, if partly right: Die Antwort ist teilweise richtig.
Feedback shared by this category's questions, if wrong: Die Antwort ist falsch.

Q: Geben Sie die Grundstruktur des C-Programms an.
- 1. | int main(void)
- 2. | {
- 3. | //Initialisierungen
- 4. | while (1) {
- 5. | // Endlos wiederholte Instruktionen
- 6. | } }

Q: Geben  Sie die Programmzeile an, um 500ms zu warten.
- Delay(500);
- wait_ms(500)
- HAL_Delay(500);
- warte(0.5);
A: wait_ms(500); HAL_Delay(500);

Q: Geben Sie die Zahl 0x55 auf GPIOC (PortC)aus.
- PortOut ausgabe(PortC,0xFF); Ausgabe=0x55;
- PortIn ausgabe(PortC,0xFF); Ausgabe=0x55;
- DigitalOut ausgabe(PortC,0xFF); Ausgabe=0x55;
- PortOut ausgabe(PC_0); Ausgabe=0x55;
A: PortOut ausgabe(PortC,0xFF); Ausgabe=0x55;

Q: Negieren Sie Bit 5 in PortA (GPIOA) Ausgang
- PortOut Ausg5(PortA,0xFF); Ausg5=!Ausg5;
- PortOut Ausg5(PA_5); Ausg5=!Ausg5;
- DigitalIn Ausg5(PA_5); Ausg5=!Ausg5;
- DigitalOut Ausg5(PA_5); Ausg5=!Ausg5;
A: DigitalOut Ausg5(PA_5); Ausg5=!Ausg5;

Q: Welche Bezeichnung hat unser Mikrocontroller?
- STM32L162RE
- STM32F152RE
- STM32L152RE
- STM33L152RE
A: STM32L152RE

Q: Mit welcher Taktfrequenz in MHz arbeitet unser Mikrocontroller?
A: 32

Q: Geben Sie die Zahl 0x55 auf PortC (GPIOC) aus
- Initialisierung: PortOut ausg(PortC,0xFF); Ausgabe: ausg=0x55;
- Initialisierung: PortIn ausg(PortC,0xFF); Ausgabe: ausg=0x55;
- Initialisierung: DigitalOut ausg(PortC,0xFF); Ausgabe: ausg=0x55;
- Initialisierung: PortOut ausg(PortA,0xFF); Ausgabe: ausg=0x55;
A: Initialisierung: PortOut ausg(PortC,0xFF); Ausgabe: ausg=0x55;

Q: Die Schalterstellung an PortB (GPIOB) soll auf PortC (GPIOC) ausgegeben werden.
- Initialisierung: PortOut aus(PortC,0); PortIn ein(PortB,0xFF); Ausführung: aus=ein;
- Initialisierung: PortOut aus(PortB,0xFF); PortIn ein(PortC,0xFF); Ausführung: aus=ein;
- Initialisierung: PortOut aus(PortC,0xFF); PortIn ein(PortB,0xFF); Ausführung: ein=aus;
- Initialisierung: PortOut aus(PortC,0xFF); PortIn ein(PortB,0xFF); Ausführung: aus=ein;
A: Initialisierung: PortOut aus(PortC,0xFF); PortIn ein(PortB,0xFF); Ausführung: aus=ein;

Q: Die int-Variable int x soll ihren Wert von PA_1 bekommen. PA_1 benötigt PullDown.
- Initialisierung: int x; DigitalOut ein(PA_1); ein.mode(PullDown); Ausführung: x=ein;
- Initialisierung: int x; DigitalIn ein(PA_1); ein.mode(PullDown); Ausführung: x=ein;
- Initialisierung: int x; DigitalIn ein(PA_1); ein.mode(PullDown); Ausführung: ein=x;
- Initialisierung: int x; DigitalIn ein(PA1); ein.mode(PullDown); Ausführung: x=ein;
A: Initialisierung: int x; DigitalIn ein(PA_1); ein.mode(PullDown); Ausführung: x=ein;

Q: Wenn die Taste DigitalIn taste(PA_1) gedrückt wird soll der 8Bit-Ausgang PortOut aus(PortC,0xFF) um genau 1 weitergezählt werden. Gezählt wird, wenn die Taste gedrückt (=1) wird.
- 1. | if (taste==1){
- 2. Entprellen 1 | wait_ms(20);
- 3. | aus++;
- 4. | while(taste==1){}
- 5. Entprellen 2 | wait_ms(20);
- 6. | }

Q: Setzen Sie PC_5 auf 1
- Initialisierung: DigitalIn aus5(PC_5); Ausführung: aus5=1;
- Initialisierung: PortOut aus5(PC_5); Ausführung: aus5=1;
- Initialisierung: DigitalOut aus5(PC_5); Ausführung: aus5=1;
- Initialisierung: DigitalOut aus5(PC_5); Ausführung: aus5=0;
A: Initialisierung: DigitalOut aus5(PC_5); Ausführung: aus5=1;

Q: Die int-Variable int x soll mit den Bits 7 .. 0 von PortB (GPIOB) versorgt werden.
- Initialisierung: int x; PortIn ein(PortB,0xFF); Ausführung: x=ein;
- Initialisierung: int x; PortOut ein(PortB,0xFF); Ausführung: x=ein;
- Initialisierung: int x; PortIn ein(PortB,0xFF); Ausführung: ein=x;
- Initialisierung: int x; PortIn ein(PortB,0xFF00); Ausführung: x=ein;
A: Initialisierung: int x; PortIn ein(PortB,0xFF); Ausführung: x=ein;

Q: 1. Was versteht man unter dem Begriff "Polling"?
- Zyklisch wiederholte Abfrage eines Eingangs z. B. einer Taste
- Zyklische Ausgabe immer neuer Daten auf Ausgänge des Mikrocontrollers
- Verfahren zur Sortierung von Variablen in einem array, bei dem immer der kleinste (größte) Wert aus dem array an eine vordere Stelle gesetzt wird
- Von to poll (engl. ausgraben). Die Daten werden nicht direkt eingelesen, sondern mittels eines Speichermedium übertragen
A: Zyklisch wiederholte Abfrage eines Eingangs z. B. einer Taste

Welche Anweisungen sind richtig?

Q: An einem digitalen Eingang ist ein Taster angeschlossen. Der Taster schaltet nach 1 (3,3V). Welchen Pull benötigen Sie?
- PullDown
- PullUp
- PullNone
- OpenDrain
A: PullDown

Q: Eine Taste an einem Digitaleingang schaltet nach 0. Welchen Pull benötigen Sie?
- PullDown
- PullUp
- PullNone
- OpenDrain
A: PullUp

Q: Definieren Sie den Begriff Interrupt.
- Unter einem Interrupt versteht man einen Ausnahmezustand (Exeption-State) der ALU (Arithmetic logic unit) z. B aufgrund einer Division durch 0
- Der Mikrocontroller wird angehalten (Unterbrochen = Interrupt) um, bei mobilen Anwendungen, Strom zu sparen
- Ein Ereignis in der Hardware des Mikrocontrollers bewirkt, dass 1. Das laufende Programm unterbrochen wird, 2. ein "Unterprogramm", die sogenannte Interrupt-Service-Routine (ISR) ausgeführt 3. Das unterbrochene Programm fortgesetzt wird
- Zyklisch werden, in der Endlosschleife, die Ports des Mikrocontrollers überprüft und bei einer Ausnahmesituation auf einen definierten Startwert gesetzt. (Intialisation)
A: Ein Ereignis in der Hardware des Mikrocontrollers bewirkt, dass 1. Das laufende Programm unterbrochen wird, 2. ein "Unterprogramm", die sogenannte Interrupt-Service-Routine (ISR) ausgeführt 3. Das unterbrochene Programm fortgesetzt wird

Q: Wie wird ein externer Interrupt mit dem Namen: Taste an PA_1 initialisiert?

Randbedingungen:

- Pulldown
- Steigende Flanke
- ISR: void taste(void){...}
- - InterruptIn Taste(PA_1); - Taste.mode(PullDown); - Taste.rise(&taste);
- - InterruptIn Taste(PA_1); - Taste.mode(PullDown); - Taste.fall(&taste);
- - InterruptOut Taste(PA_1); - Taste.mode(PullDown); - Taste.rise(&taste);
- - InterruptIn Taste(PA_1); - Taste.mode(PullUp); - Taste.rise(&taste);
A: - InterruptIn Taste(PA_1); - Taste.mode(PullDown); - Taste.rise(&taste);

Q: Wie wird eine Interrupt-Serrvice-Routine (ISR) aufgerufen?
- Durch den Destruktor der Mikrocontrollerklasse
- Durch den Reset des Mikrocontrollers
- Durch ein Funktionsaufruf im Hauptprogramm
- Durch die Hardware des Mikrocontrollers
A: Durch die Hardware des Mikrocontrollers

Q: Wie kann ein einzelner Interrupt freigegeben werden?
- Bei MBED wird der Interrupt mit der Initialisierung automatisch freigegeben
- Eine Freigabe ist generell nicht möglich.
- Mit der Anweisung: <interruptname>.disable_irq();
- Mit der Anweisung: <interruptname>.enable_irq();
A: Bei MBED wird der Interrupt mit der Initialisierung automatisch freigegeben; Mit der Anweisung: <interruptname>.enable_irq();

Q: Wie kann ein Interrupt gesperrt werden?
- <interruptname>.enable_irq();
- <interruptname>.disable_irq();
- Ein Sperren eines Interrupts ist generell nicht möglich
- Mit der Anweisung: lock(<interruptname>);
A: <interruptname>.disable_irq();

Q: Wie können alle Interrupts gesperrt werden?
- Durch eine Absenkung der Versorgungsspannung um definiert 0,25V (Power induced interrupt disable piid)
- Indem der Interruptport PA12 auf 3,3V (High) gelegt wird
- Mit der Anweisung: __enable_irq();
- Mit der Anweisung: __disable_irq();
A: Mit der Anweisung: __disable_irq();

Q: Wie kann eine generelle Interruptsperre rückgängig gemacht werden?
- Anheben der Versorgungsspannung des Mikrocontrollers auf 3,3V
- Der Interruptport PA_12 wird auf Low gelegt
- Mit der Anweisung: __enable_irq();
- Mit der Anweisung: __disable_irq();
A: Mit der Anweisung: __enable_irq();

Q: Geben Sie den Timerinterrupt von TIM6 frei
- TIM6->SR=0;
- HAL_NVIC_ClearPendingIRQ(TIM6_IRQn);
- NVIC_SetVector(TIM6_IRQn, (uint32_t)&tim6isr);
- HAL_NVIC_EnableIRQ(TIM6_IRQn);
A: HAL_NVIC_EnableIRQ(TIM6_IRQn);

Q: Ordnen Sie dem Timerinterrupt eine ISR zu.
- HAL_NVIC_ClearPendingIRQ(TIM6_IRQn);
- NVIC_SetVector(TIM6_IRQn, (uint32_t)&tim6isr);
- HAL_NVIC_EnableIRQ(TIM6_IRQn);
- RCC->APB1ENR|=0b10000;
A: NVIC_SetVector(TIM6_IRQn, (uint32_t)&tim6isr);

Q: Setzen Sie das Update Interrupt Flag und das Pendingbit zurück
- TIM6->SR=0;
- NVIC_SetVector(TIM6_IRQn, (uint32_t)&tim6isr);
- HAL_NVIC_ClearPendingIRQ(TIM6_IRQn);
- HAL_NVIC_EnableIRQ(TIM6_IRQn);
A: TIM6->SR=0;; HAL_NVIC_ClearPendingIRQ(TIM6_IRQn);

Q: Mit Timer und Interrupt soll eine Blinkfrequenz von 4Hz erzeugt werden. Die Timer-ISR negiert PC_0. Der Prescaler wurde auf 31999 eingestellt.

Welchen Wert wählen Sie für das Autoreloadregister (ARR).
A: 124

Q: Ein Timerintervall von 100ms soll eingestellt werden. Der Prescaler hat den Wert 3199.

Auf welchen Wert programmieren Sie das Autoreloadregister (ARR)
A: 999

Q: Welche Aktionen sind in der Timer-ISR unbedingt erforderlich?
- Pendingbit und Update-Interrupt-Flag zurücksetzen
- Pendingbit und Counter-Enable-Bit zurücksetzen
- Update-Interrupt-Flag und Counter-Enable-Bit zurücksetzen
- Autoreloadregister (ARR) auf 0 setzen
A: Pendingbit und Update-Interrupt-Flag zurücksetzen

Q: Wie kann die Frequenz gemessen werden?
- Die Impulse in einem Zeitraum von 1 Sekunde zählen
- Den arithmetischen Mittelwert der Einsen und Nullen eines Eingangs messen.
- Mit dem AD-Wandler die Frequenz als float-Wert erfassen
- Die Dauer einer Periode messen, daraus mit f=1/T die Frequenz berechnen
A: Die Impulse in einem Zeitraum von 1 Sekunde zählen; Die Dauer einer Periode messen, daraus mit f=1/T die Frequenz berechnen

Q: Sie sollen eine Frequenz die im Bereich von 0,2 bis 1 Hz liegen kann, messen. Wie gehen Sie vor.
- Ich zähle die Anzahl der Perioden in einem Messintervall von 1 Sekunde
- Ich messe die Periodendauer und berechen die Frequenz mit der Formel f=1/T
- Ich verwende den eingebauten AD-Wandler des Mikrocontrollers
- Eine Mesung derart niedriger Frequenzen ist mit meinem Mikrocontroller nicht möglich
A: Ich messe die Periodendauer und berechen die Frequenz mit der Formel f=1/T

Q: Sie sollen eine Frequenz im Bereich von 250kHz messsen. Wie gehen Sie vor.
- Geht gar nicht
- Ich verwende den eingebauen AD-Wandler
- Ich messe die Dauer einer Periode und berechne daraus die Frequenz
- Ich zähle die Impulse in eeinem Zeitraum von 1 Sekunde. Zählvariable: unsigneed long
A: Ich zähle die Impulse in eeinem Zeitraum von 1 Sekunde. Zählvariable: unsigneed long

Q: Geben Sie die Frequenz f=0,0123MHz in kHz an.
A: 12.3

Q: Berechnen Sie die Frequenz in MHz bei einer Periodendauer von T=0,25ms
A: 0.004

Q: Berechnen Sie die Periodendauer ein µs bei einer Frequenz f=12,5kHz.
A: 80

Q: Der Prescaler wurde auf 31999 eingestellt. Der Counter startet bei 0 und wird bei einem Zählerstand von 4235 gestoppt. Welche Zeit in Sekunden wurde gestoppt?
A: 4.235

Q: Aus welchen Bestandteilen besteht ein Zustandsdiagramm?
- For-Schleife
- Zustand
- Transition
- Startzustand
- if-Anweisung
A: Zustand; Transition; Startzustand

Q: Wie lange hält sich der Mikrocontroller in einer Transition auf?
- Sehr kurze Zeit, praktisch 0. Die Transition isst nur ein Übergang
- Ungefähr 1ms
- Ungefähr 1s
- Solange bis die Wächterbedingung erfüllt ist
A: Sehr kurze Zeit, praktisch 0. Die Transition isst nur ein Übergang

Q: Programmieren Sie die ISR

[Image]
- 1. | void isr(){
- 2. | switch (zustand){
- 3. | case Zustand1:
- 4. | if (x>5) zustand=Zustand2;
- 5. | break;
- 6. | }}

Q: Wie lange bleibt der Mikrocontroller in einem Zustand.
- solange die do-Aktivität dauert
- ganz kurz, da der Mikrocontroller immer zwischen den Threads hin- und herwechselt
- 1s
- Prinzipiell beliebig lang, bis z.B. ein passendes Ereignis eintritt oder eine Bedingung erfüllt wird
A: Prinzipiell beliebig lang, bis z.B. ein passendes Ereignis eintritt oder eine Bedingung erfüllt wird

Q: Wie wird ein Zustand dargestellt?
- Rechteck mit abgerundeten Ecken mit 3 Bereichen: Zustandsname, Attribute und Aktivitäten
- Kreis mit 2 Bereichen: Zustandsname und Aktivitäten
- Rechteck mit abgerundeten Ecken mit 2 Bereichen: Zustandsname und Aktivitäten
- Pfeil mit offener Spitze
A: Rechteck mit abgerundeten Ecken mit 2 Bereichen: Zustandsname und Aktivitäten

Q: Definieren Sie den Begriff Transition.
- Transition bedeutet die Änderung einer Variablen
- Übergang von einem Zustand in einen anderen.
- Bei einer Transition werden die Basic-Operationen des Mikrocontrollerss aufgerufen
- Die Umwandlung einer Operation in eine ISR
A: Übergang von einem Zustand in einen anderen.

Q: Welche Beeschriftungsmöglichkeiten einer Transition kennen Sie?
- Ohne Komplett ohne Beschrigftung, Zustandsübergang sobald die do-Aktivität endet
- Wächterbedingung in eckigen Klammern
- Ereignis()
- Ereignis() und Wächterbedingung
A: Ohne Komplett ohne Beschrigftung, Zustandsübergang sobald die do-Aktivität endet; Wächterbedingung in eckigen Klammern; Ereignis(); Ereignis() und Wächterbedingung

Q: Wo beginnt der Mikrocontroller mit der Abarbeitung des Zustandsdiagramms?
- Startzustand
- Mit dem Zustand mit höchster Priorität
- Der Zustand ganz links im Zustandsdiagramm (Abarbeitung von links nach rechts)
- Der Zustand ganz oben im Zustandsdiagramm (Abarbeitung von oben nach unten)
A: Startzustand

Q: Wie wird eine Transition im UML-Zustandsdiagramm dargestellt?
- Pfeil mit offener Spitze und Raute am Anfang
- Pfeil mit doppelter Spitze
- Pfeil mit offener Spitze
- Oval, das Ausgangs- und Zielzustand umfasst
A: Pfeil mit offener Spitze

Q: Welche Aktivitäten im Zustandsdiagramm gibt es?
- Entry-Aktivität
- Exit-Aktivität
- Do-Aktivität
- Aktivität an der Transition
- Freigabe-Aktivität
- internes Ereignis
A: Entry-Aktivität; Exit-Aktivität; Do-Aktivität; Aktivität an der Transition

Q: Bringen Sie die Aktionen bei einer Transition in die richtige Reihenfolge
- 1. | Zustand prüfen (switch(zustand))
- 2. | Wächterbedingung prüfen
- 3. | Exit-Aktivität des Ausgangszustand
- 4. | Aktivität an der Transition
- 5. | Zustand wechseln (zustand=neuerZustand)
- 6 | Entry-Aktivität des neuen Zustands

Q: Wie lange (in ms) dauert eine Transition typischer weise?
A: 0

Stimmen die Aussagen?

Q: Was versteht man unter Aktivität?
- Turnübungen in der Unterrichtszeit
- Alle machen mit
- ein Unterprogramm
- eine oder mehrere C-Anweisungen
A: ein Unterprogramm; eine oder mehrere C-Anweisungen

Q: Wie erfolgt die Auswahl, in welchem Zustand sich der Mikrocontroller befindet?
- while(zustand==0)
- switch(zustand)
- for (int i=0;i<zustand;i++)
- void zusatnd()
A: switch(zustand)

Q: Wozu dienen die Register in der CPU
- Zum Speichern von Operanten und Ergebnissen von Berechnungen
- Als Codespeicher
- Für Grafikausgabe mit besonders schneller Ausführung
- Zur Zwischenspeicherung von Assemblerbefehlen
A: Zum Speichern von Operanten und Ergebnissen von Berechnungen

Q: Welche Aufgabe hat das Leit- bzw. Steuerwerk?
- Befehle zählen
- EAs ansteuern
- Befehle weiterleiten
- Befehle dekodieren und Ausführen
A: Befehle dekodieren und Ausführen

Q: Welches Register muss für die Datenausgabe beschrieben werden?
- IDR (Input Data Register)
- ODR (Output Data Register)
- R0
- Programcounter
A: ODR (Output Data Register)

Q: In welchem Register stehen die Eingabedaten zur Verfügung?
- IDR (input Data Register)
- ODR (Output Data Register
- R0
- R3
A: IDR (input Data Register)

Q: Welche Aufgabe hat die ALU
- Arithmetische und Logische Berechnungen anstellen
- Alternate Lift Undertake (Alternative Datenerhebungs Unternehmung)
- Schiebeoperationen ausführen
- Multiplikationen und Divisionen ausführen
A: Arithmetische und Logische Berechnungen anstellen

Q: Wofür steht die Abkürzung RISC?
- Ready Injected Store Calculation
- Complex Instruction Set Computer
- Reduced Instruction Set Computer
- Raw Include State Core
A: Reduced Instruction Set Computer

Q: Welche Kennzeichen hat ein RISC-Prozessor
- Einfache Befehle
- Pipeline
- Jede Instruktion wird effektiv in einem Takt ausgeführt
- Speicherzellen im RAM können addiert werden
A: Einfache Befehle; Pipeline; Jede Instruktion wird effektiv in einem Takt ausgeführt

Q: Welche Kennzeichen hat die Load - Store - Architektur?
- Daten werden zuerst in die Register geladen,
- Daten werden ausschließlich in den Registern
- Daten aus den Input Data Register (Load) werden in die Output Data Register transferiert (store)
- Ergebnisse werden wieder in die Peripherie oder die Register zurück geschrieben
A: Daten werden zuerst in die Register geladen,; Daten werden ausschließlich in den Registern; Ergebnisse werden wieder in die Peripherie oder die Register zurück geschrieben

Q: Welche Funktion erfüllt der Programmcounter.
- Der PC zählt Befehle
- Der PC zählt Programme
- Der PC enthält jeweils die Adresse der nächsten zu verarbeitenden Instruktion.
- Bei jedem Takt wird der PC hochgezählt um den neuen Befehl im Codespeicher zu adressieren
A: Der PC enthält jeweils die Adresse der nächsten zu verarbeitenden Instruktion.; Bei jedem Takt wird der PC hochgezählt um den neuen Befehl im Codespeicher zu adressieren

Q: Welche Auswirkung haben Sprungbefehle auf den Programmcounter (PC)?
- Im Programmcounter wird die Adresse der Zieloperation eingetragen
- keine Auswirkungen
- Der PC wir auf 0 zurückgesetzt
- Der PC erhält einen neuen Wert aus dem Linkregister
A: Im Programmcounter wird die Adresse der Zieloperation eingetragen

Q: Welche Befehlsphasen werden bei der Verarbeitung eines Maschinenbefehls durchlaufen?
- Eingabe - Verarbeitung - Ausgabe (EVA)
- Holen (Fetch) - dekodieren (decode) - ausführen (execute)
- Laden - Verarbeiten - Speichern (Load-Store-Architektur)
- Initialisierung - Endlosschleife
A: Holen (Fetch) - dekodieren (decode) - ausführen (execute)

Q: Welche Vorzüge hat die Pipeline?
- Mehrere Befehle in verschiedenen Befehlsphasen können gleichzeitig verarbeitet werden
- Meherer Befehle können sich gleichzeitig in der Execute-Phase befinden
- Mehrere Programme können gleichzeittig ausgeführt werden
- Die Pipline implementiert mehrere (3) Prozessorkerne
A: Mehrere Befehle in verschiedenen Befehlsphasen können gleichzeitig verarbeitet werden

Q: Bei welcher Rechnerarchitektur kommt ein sogenanntes Mikroprogramm zur Ausführung?
- keine
- CISC
- RISC
- ARM
A: CISC

Q: Wozu dient der Barrelshifter?
- Für Schiebeoperationen x<<y
- Für Multiplikationen nach dem Fass (barrel) Algorithmus
- Für Additionen
- Um Daten durch den Tunnel (tunneling) in sehr kurzer Zeit (praktisch 0) auf die Peripherie zu verschieben
A: Für Schiebeoperationen x<<y

Q: Über welchen Bus werden die Speicherzellen ausgewählt?
- Adressbus
- Datenbus
- Steuerbus
- PCI-Express
A: Adressbus

Q: Über welchen Bus werden die Daten transportiert?
- Adressbus
- Datenbus
- Steuerbus
- Omnibus
A: Datenbus

Q: Mit welchem Bus wird der Speicher ausgewählt und die Datenrichtung festgelegt?
- Adressbus
- Datenbus
- Steuerbus
- Omnibus
A: Steuerbus

Q: Wie wird erreicht, dass ein Datenzugriff die Instruction-Pipeline nicht unterbricht?
- Gleichzeitig wird WLAN genutzt
- Der Datenzugriff erfolgt über den USB
- Die Pipeline wird bei jedem Datenzugriff unterbrochen
- Der Datenzugriff erfolgt über separate Busse
A: Der Datenzugriff erfolgt über separate Busse

Q: Über welche Speicher verfügt der Mikrocontroller?
- Peripherieregister
- Flash-ROM Codespeicher
- RAM
- HDD
A: Peripherieregister; Flash-ROM Codespeicher; RAM

Q: Nennen Sie Kennzeichen des Codespeichers
- Flash-ROM
- Wird nur beim Programmieren verändert
- Speichert das Programm
- Nicht flüchtig
- Speichert Variablen
- Verliert seinen Inhalt, wenn die Stromversorgung unterbrochen wird
- Dient zur Datenverschlüsselung
A: Flash-ROM; Wird nur beim Programmieren verändert; Speichert das Programm; Nicht flüchtig

Q: Nennen Sie Kennzeichen des Datenspeichers
- Speichert den Stack
- Speichert Variablen
- RAM
- Nicht flüchtig
- Verliert seine Daten wenn die Versorgungsspannung unterbrochen wird
- Speichert das Programm
A: Speichert den Stack; Speichert Variablen; RAM; Verliert seine Daten wenn die Versorgungsspannung unterbrochen wird

Q: Wie groß in GB ist der Adressbereich des STM32L152RET?
A: 4

Q: Über wie viele Adressleitungen verfügt ein Adressbus des STM32L152RET?
A: 32

Q: Wie viele Bytes können bei einem Datenzugriff gleichzeitig aus dem RAM geladen werden?
A: 4

Q: Wie viele Datenleitungen hat ein Datenbus des STM32L152RET?
A: 32