Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Finite State Machine (Eindige.

Slides:



Advertisements
Verwante presentaties
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 5 - onderwerpen •DB038 hardware : toetsenbordje.
Advertisements

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Operatoren, Arrays, Command-line tools.
Programmeren van een humanoid robot
Downloaden: Ad-aware. Downloaden bestaat uit 3 delen: •1. Zoeken naar de plek waar je het bestand kan vinden op het internet •2. Het nemen van een kopie.

Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.
Algoritmen en Datastructuren (ALDAT)
Hoofdstuk 8: Recursie.
Arduino project.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Gelinkte lijsten Finite State.
Les 5 - onderwerpen Aansturen van vier 7-segment displays
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 5.


Frank Stalpers en Ad Baars
Flow controle Keuzes maken. Het if-statement Soms moet code alleen in bepaalde situaties uit gevoerd worden Hiervoor heeft C de if-else constructie: if(voorwaarde1){
Real-Time Systems (RTSYST) Week 2. Process/Thread states Scheduler = deel van OS dat de toestanden van processen/threads bepaald. OS gebruikt timerinterrupt.
Eerste deeltoets Uitwerking. Resultaten Gemiddeld: 6,01 Tips voor de volgende keer: – Werk in klad uit, schrijf duidelijk – Oefenen met loops en tellertjes.
Inleiding programmeren in C++ Life Science & Technology 2 februari Universiteit Leiden.
Inleiding programmeren in C++ Life Science & Technology 9 februari Universiteit Leiden.
Werken aan Intergenerationele Samenwerking en Expertise.
Breuken-Vereenvoudigen
Finite State Machines.
Algoritmiek Object-georiënteerd Programmeren
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 4.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 3 - onderwerpen Het.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 4 - onderwerpen Tellen.
KPRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Les 2 sheet 1 Wat gaan we doen:  Een (vaste) melodie.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail: Sheets en.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB038 hardware : LEDs en displays.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Het ARM bord met wat library functies.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 4 - onderwerpen Multiplexen.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  basis files: ram-rom.zip.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
Mail: Jan Zuurbier  Mail:
OO Analyse in de praktijk OO Analyse in de praktijk V Enkele Design Patterns.
OO Analyse in de praktijk OO Analyse in de praktijk IV OO basisregels.
Herhaling Java-programmatie en geautomatiseerd testen (vervolg)
Lancering van de Driekwarten. Getal dat met 1 begint mist 12 en past naar Vraagt de bal aan de buitenkant van geeft.
1 Syntax JavaLogo. 2 Hoofdstuk 1 Tekenen in Java.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 7 onze.
Les 2: Zaterdag 24 mei 2014 Wim Peeters
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
Mail: (of Sheets en verdere info: Onderwerp: vervolg C
DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Arrays en pointers lichtkrant op het ARM bordje.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  een MIDI track interpreteren, laten zien en afspelen.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen  DB036 printjes subroutines.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  herhaling ARM assembler instructies  assembler.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  programma draaien vanuit ROM.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 6 - onderwerpen Uitleg.
Onderwerp: PIC assembler programmeren
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 3 redirection,
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 2 - onderwerpen  Helaas nog geen printjes.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail: Sheets en.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag User-defined characters op de.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 2 - onderwerpen MPLAB.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB027 hardware : LEDs en displays.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag top-down decompositie Opdrachten:
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Maak, uitgaande van een MIDI file, een (klein) programma.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  Een (vaste) melodie spelen op de PC speaker 
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB038 hardware : luidsprekertje.
Inleiding computersystemen en netwerken Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 2.1 Programmeren (2.9) assembler,
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1.
2TPRJ8 – hardware en ontwikkelomgeving Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail:
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail: Sheets.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Een embedded systeem: ARM bord.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  de track structuur van een MIDI file interpreteren.
TIMER STARTEN DE TIJD IS OM! TIJDSLIMIET: 30 seconden
Codesystemen Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology.
Transcript van de presentatie:

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Finite State Machine (Eindige Toestands Machine) techniek Bespreking ”sudo oplossen” decomposities

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 2 Finite State Machine (= Eindige Toestands Machine) states (toestanden) events (gebeurtenissen, boodschappen, triggers) actions (wat je programma doet) Diverse notaties in gebruik, schrik niet als je een iets andere notatie tegenkomt.

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3 FSM voorbeeld : knipper LED op 2 Hz States : –LED is aan –LED is uit Events : –1 seconde timer tick Actions : –LED aanzetten –LED uitzetten

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 4 knipper LED op 2 Hz : FSM diagram LED is uitLED is aan init LED uitzetten 1s timer tick LED aanzetten 1s timer tick LED uitzetten

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 5 knipper LED op 2 Hz : State-Transistion diagram Event State 1s timer tick LED is uitLED aanzetten LED is aan LED uitzetten LED is uit

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6 FSM voorbeeld : knipper LED op 2 Hz // states #define knipper_state_init 0 #define knipper_state_uit 1 #define knipper_state_aan 2 // events #define knipper_event_tick 100 // current state int knipper_state = knipper_state_init; // acties void Zet_LED( int x ){... } void fsm_knipper( int event ){ if( state == knipper_state_init ){ Zet_LED( 0 ); state = knipper_state_uit; return; } if( state == knipper_state_uit ){ if( event == knipper_event_tick ){ Zet_LED( 1 ); state = knipper_state_aan; return; } if( state == knipper_state_aan ){ if( event == knipper_event_tick ){ Zet_LED( 0 ); state = knipper_state_uit; return; }

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 7 FSM voorbeeld : Toegangspoort 1

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 8 FSM voorbeeld : Toegangspoort 2

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 9 FSM voorbeeld : Toegangspoort 3

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 10 FSM voorbeeld : Toegangspoort 3 Event State 1s timer tick LockedLED aanzetten LED is aan UnlockedLED uitzetten LED is uit

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 11 FSM voorbeeld : Toegangspoort 3 Event State CoinPassResetReady LockedUnlock() Unlocked Alarm() ViolationLocked UnlockedThankyou() Unlocked Lock() LockedUnlocked Violation ResetAlarm() Violation Lock() ResetAlarm() Locked

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 12 // states #define poort_state_init 0 #define poort_state_locked 1 #define poort_state_unlocked 2 #define poort_state_violation 3 // events #define poort_event_coin 100 #define poort_event_pass 100 #define poort_event_reset 100 // current state int poort_state = poort_state_init; // actions void poort_thankyou( void ); void poort_lock( void ); void poort_unlock( void ); void poort_start_alarm( void ); void poort_stop_alarm( void ); void fms_poort( int event ){ if( state == poort_state_init ){ poort_lock(); state = poort_state_locked; return; } if( state == poort_state_locked ){ if( event == poort_event_coin ){ poort_unlock(); state = poort_state_unlocked(); } if( event == poort_event_pass ){ poort_alarm(); state = poort_state_violation(); } return; }... }

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 13 Rotary encoder (quadrature encoder) Sensor voor het bijhouden van de draaiing van een as. Toegepassingen: –user interface (afstemknop) –computermuis –motorsturing

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 14

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 15 Opdracht 1 ”rotary encoder” Een rotary encoder FSM moet in een globale integer de stand van een rotary encoder bijhouden. Bij een click naar rechts +1, bij een klick naar links -1. Er moet rekening gehouden worden met denderen en ‘halve bewegingen’ (= effect is hetzelfde als denderen).

vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 16 Opdracht 1 ”rotary encoder” Stel de lijst van states (4), events (4) en acties (2), op voor een rotary encoder FSM -Maak naar keuze een State Transition Diagram of een State Transition Table voor de FSM (er zijn ‘onmogelijke’ events, die hoef je niet te laten zien) -Vertaal je STD of STT naar C code