Interrupts. Indtil nu har hastigheden på dine blinkende LEDs været styret af et loop. Som du muligvis også har bemærket afhænger det meget af hvor travlt.

Slides:



Advertisements
Lignende præsentationer
HNX Årgang 2011/2012.  Optagelseskrav  Personlige krav  Hvor?  Forløb  Indhold  Muligheder.
Advertisements

Fortæl med PowerPoint XP
Throw a die Read the current value of index Add 1 Return the new value to index IndexIndex Create an empty array to count the number of dice throws Initialize.
Niveauer af abstrakte maskiner
MG Production Den 75-årige Stig besøger sin læge for at få sin sperm undersøgt !
C# introduktion. using System; Namespace MyFirst { class eks1 { public static void Main() { Console.WriteLine("Hej!"); Console.Write("Skriv dit navn her:
Ældre Sagen Sommer1 Opret en ny mappe Vigtigt for at kunne holde orden i dokumenterne= filerne og billeder.
Boksen der gør det for dig Lavet af Rasmus og Anton.
T1 – OPGAVE 14.2 LINETT & SABRINA Klasse Varer namespace Opgave_14._2 { class Varer { private string vare; private string farve; private double.
Array og ArrayList Et slideshow. Som er sødt.. Hvordan virker ArrayList?  ArrayList NAVN = new ArrayList ();  NAVN.add(”Værdi”);  NAVN.add(index, ”værdi”)
Symbolsk maskinsprog.
Hvordan man skriver koden.
Publish Logs Klik på Geocaching.com access Og vælg Publish logs…
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Intro til brug af PLC.
MM4 Algoritmiske grundprincipper. MM1 Lister, stakke og køer. MM2 Hash-tabeller og Træer. MM3 Sortering.MM4 Søgning.MM5.
Eksempler på skabeloner til bøger i powerpoint
Compiler/fortolker struktur Mellem- kode Mellemk.- optimering Kode- generering Kode- optimering Lexikalsk- analyse Syntax- analyse Semantik- analyse -
Opsamling Loops Klassedesign Immutable Lister shallowCopy() Projekt 2 FEN KbP/seminar3: Opsamling.
18. Strategisk analyse af interne forhold
Lektion 7 Læsestof: Kopier fra Caranno
Simulering af spisende filosoffer
Ingeniørhøjskolen i Århus Slide 1 Newton approximation ”Oversæt” til algoritme - Step 5: Skriv kode - Step 4: Skriv pseudokode - Step 3: Specificér pre-
Procestræ under afvikling af cp init login shell cp cp src dest.
Paradigmer i Programmering 2. Sammensatte typer Tupler og lister Programmering med rekursion Programmering med pipe-lines Programmering med polymorfe.
Begreber og Redskaber 8. Plan for idag Sortering fortsat Comparable Søgning –Lineær søgning –Binær søgning.
Begreber og Redskaber 7. Plan for idag Rekursive underprogrammer Rekursive datastrukturer Rekursion vs iteration Rekursivt: Flette sortering.
11 - Exceptions. 2 NOEA2009Java-kursus – Exceptions Hvad er en exception? En undtagelse. Typisk en fejl der opstår runtime Afbryder det normale programflow.
Fundamentale sprogbegreber
Efteruddannelse Embedded C Modul 3 (Onsdag den 21/4-2010)
C#: Udtryk og metoder Kilde: Joe Hummel. 2 Nordjyllands Erhvervakademi – 2008 Indhold “With regards to programming statements and methods, C# offers what.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
Intro Siden sidst: evaluering på opgaver og virtuel kursus Kursussammensætning: forelæsning – læse – arbejde selvstændigt – newsgroup – øvelsestime – aflevering.
PivotTable i MS Excel Se evt. teksten til opgave 18 kap Start MS Excel og åben filen exped.dbf som du finder på hjemmesiden sammen med denne vejledning.
Længste plateau En klassisk problemstilling (Gries, 1981) - og her i Java!!! Denne opgave drejer sig om at bestemme længden af det længste plateau i en.
Process Control Hardware baggrund Process begrebet i et OS Process tilstande Context switching.
Per Printz Madsen 1 Linux kernen Monolithic kernel Support for dynamiske moduler Få kerne tråde Preemptive.
Forelæsning 7.1 – repetition
Begreber og Redskaber 4. Plan for idag Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
1 Processer. 2 fork int fork(); Danner en ny proces med samme indhold som forældre processen. I begge processer er programtælleren placeret lige efter.
Samtidighed. Disposition Formål med tråde Eksempel på fordel ved tråde Thread-pooling Livscyklus Problemstillinger Algoritmer ◦Dekkers ◦Peterson Opsumering.
Spec. af LottotalsGenerator interface LottoTal{ // S: mgd. af udtrukne tal // min, max: int - angiver intervallet (incl.) void set(int min, int max); //PRE.
Sortering.  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSortering.2 Sortering Vi hartidligere set at effektiv søgning forudsætter.
Trinvis forfinelse Systematisk, gradvis udvikling af programmer.
I o p o DAIMI, AU, December 1999Introducerende objektorienteret programmering14B.1 Sortering.
 Michael E. Caspersen, 2000 Introducerende objektorienteret programmering4A.1 Sweep-algoritmer Programmering med invarianter og uden kaniner.
UProcessorens hardware Architecture Kernen i en processor er ALUen. Det er den som kan udfører simple regne operationer. De tal den arbejdermed.
Quiz Uge 2 – torsdag. Hvorfor har vi clicker quizzer? Formålet med quizzerne er –at afveksle undervisningsformen – så I ikke falder i søvn –at tvinge.
Port access  Indtil nu har vi anvendt færdige metoder til at tænde og slukke for LEDs, men den metode virker kun så længe vi arbejde med Keil boardet.
Port access I det efterfølgende vil vi anvende databladsoplysninger frem for anvende de færdige metoder.
Køreteknik Sæt I gang Før du kører ud i trafikken, skal du kunne køre din knallert sikkert. Du skal kunne holde balancen, trække, sætte i gang, standse,
Nu har du installeret uVision og set at både programmet og boardet virker. Man kan ikke lære at cykle ved at se på andre, så i det efterfølgende skal du.
1587 Server - Blandet miljø Embedded I
Embedded SW – C & picoBlaze
ADC (Analog/Digital converter) Bruges til at måle analoge spændinger på kontrollerens inputporte. På dit board sidder en drejeknap under displayet som.
I det efterfølgende vil vi prøve at opnå forbindelse til de knapper som er på boardet. Opgaven er at vi ved at trykke på knapperne kan få lyset til at.
Lav et nyt projekt og tilføj denne gang pakken Graphic LCD.
I det efterfølgende kommer nogle eksempler på C kode som adskiller sig fra det vi normalt anvender i C# Hvis du har behov for hurtigt at afprøve små stumper.
Quiz Uge 2 – mandag.
1587 Server - Blandet miljø Webintegrator HF1
I det efterfølgende kommer nogle eksempler på C kode som adskiller sig fra det vi normalt anvender i C# Hvis du har behov for hurtigt at afprøve små stumper.
IOT – Elkedel på internettet
Quiz – Uge 3 – torsdag – første time
Sådan anvendes BG-NetBank
Forsøg til Håndværk og Design
Quiz Uge 2 – mandag.
Quiz Uge 2 – mandag.
Quiz – Uge 3 – torsdag – første time
Præsentationens transcript:

Interrupts. Indtil nu har hastigheden på dine blinkende LEDs været styret af et loop. Som du muligvis også har bemærket afhænger det meget af hvor travlt processoren har. En måde at ændre det på, er i stedet at anvende den indbyggede timerfunktion. Processoren har en timer som kan lave interrupts med faste intervaller. Et interrupt betyder at processoren afbryder det kode den er i gang med, for i stedet at hoppe til en anden kode. Når den anden kode er færdig hopper den selv tilbage hvor den kom fra. Bemærk at kodens main nu havner i en while loop som ingenting laver. Lysdioderne tændes og slukkes i interrupt rutinen. Prøv at lave et projekt med koden fra næste side. Find ud hvordan du ændre tiden den blinker. Bagefter ændre du din egen kode så den anvender timer interrupts.

/*---------------------------------------------------------------------------- * Name: Blinky.c * Purpose: LED Flasher for MCBSTM32C *----------------------------------------------------------------------------*/ #include "stm32f10x.h" // Device header #include <stdio.h> #include "LED.h" // Keil::Board Support:MCBSTM32C:LED uint32_t LEDOn = 0; uint32_t ticks = 0; void SysTick_Handler (void) { if (ticks++ < 10) return; ticks = 0; if (LEDOn){ LED_Off(0); LEDOn = 0; } else { LED_On(0); LEDOn = 1; int main (void) { int32_t temp = 0; LED_Initialize(); /* LED Initialization */ SystemCoreClockUpdate(); SysTick_Config(SystemCoreClock/10);//SystemCoreClock/16); /* Generate interrupt each 10 ms */ while (1) {}