William Sandqvist Polling och Interrupt Antag att Du sitter i en skön fåtölj och läser en bok. Plötsligt blir Du avbruten av att telefonen.

Slides:



Advertisements
Liknande presentationer
Välkommen till BNK! • Om ni har en bokad tid (har fått en kallelse hit) ber vi er vänta i väntrummet. Vi kommer och hämtar er där. • Det finns ett till.
Advertisements

Snabbguide och tips.
Företagsskolan nIbland genomgår vårt företag förändringar. 3 lektioner nHär följer 3 lektioner som hjälper dig att överleva.
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
Alternativa tillvägagångssätt Registrera ny intervju i BCFPI
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
void hittaMax(int tal[], int antal, int *pmax) { int i; ??=tal[0]; for(i=1;i??) ??=tal[i]; } int main() { int v[]={1,2,3,4,2}; int.
Den globala & trygga företagsskolan n Ibland genomgår vårt företag förändringar n Här följer 3 lektioner som hjälper dig att överleva…
Värme. Med värme menar vi i dagligt tal den temperatur som vi kan mäta med en termometer.  Värme är en form av energi.  En viss temperatur hos ett ämne.
Ett Brott Är Ett Brott... Av Lovisa Wirdemo.
På väggen bredvid telefonen finns Visaren med stora knappar med foton på. För att ringa lyfter du på luren och trycker på ett foto. Om en knapp blinkar.
Scanning on demand Forskarstyrd digitalisering blir tillgänglig för alla Agneta Stenberg, Forskningsarkivet, Umeå universitetsbibliotek
Anders Sjögren Lagringsklasser •en variabel i C har två attribut –type( int, float, char..... ) –lagringsklass( auto, extern, register, static ) •lagringsklassens.
Programstruktur: C för enchipsdatorer
Många studenter använder en LCD-display till sin programmeringsuppgift
Funktioner och programorganisation
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
Minnesteknologier Teknologi Accesstid Kostnad $/GB SRAM 1 ns 1000 DRAM
PICKit2 programmer-to-go
PC-teknik Repetition enligt önskemål som inkommit via mail. (täcker alltså inte alla moment i kursen)
FaceTime - Ringa Att ringa med iPad2/iPad3 som en videotelefon.
William Sandqvist Programmet onoffred.c.
Tentamensdags och lab 3…. Större program delas normalt upp i flera filer/moduler vilket har flera fördelar:  Programmets logiska struktur när man klumpar.
SmartCard laborationen
William Sandqvist Varför använda en liten 8-bitars processor när det finns billiga kraftfulla 32-bitars? William Sandqvist
C-programmering ID120V William Sandqvist Länkad lista
Komparatorn en 1 bits AD-omvandlare
Kommunikation Först några nya PIC-instruktioner
Realtidsprog. - Anders Arvidsson1 Realtidsprogrammering En introduktion – Implementering (med exempel från PIC)
Tentamensdags och lab 3…. Större program delas normalt upp i flera filer/moduler vilket har flera fördelar:  Programmets logiska struktur när man klumpar.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
William Sandqvist C:s minnesmodell.
Operativsystem Vad är det för något ? Varför har man operativsystem ?
Problemlösning Veckodagsproblemet Gissa talet Siffersumman.
Ingrid Lindberg, Elin Carlson och Stefan Frisk Medicinkliniken Eksjö
Modulär programutveckling
William Sandqvist Kodlåsmall lockmall.vhd William Sandqvist
Microsoft Small Business Specialist. Microsoft har lanserat ett initiativ för partners som arbetar med småföretag. Fördelar för dig som partner är att.
Namnrum, räckvidd och rekursion Linda Mannila
William Sandqvist Databuffer Omvandlar mellan olika storlekar på dataobjekt Anpassar mellan olika dataöverföringshastigheter Databuffer.
William Sandqvist PIC PIC (Peripheral Interface Computer) är en datorkrets med ”allt i ett”. Prog Mem. Programminnet är 2048 instruktioner.
William Sandqvist PIC 16F628 Timers William Sandqvist
William Sandqvist Melodispelaren Denna demonstrationslaboration visar, steg för steg, hur man skriver ett kort program i programspråket.
William Sandqvist C-programmering ID120V Stack och Kö William Sandqvist
William Sandqvist PIC-programmeringsmiljön i skolan Datorerna i skolans labsalar är centralt underhållna. Du har inte rättigheter att installera.
Anders Sjögren Filer - långtidslagring. Anders Sjögren Filtyper i DOS talet ett ( intx=1; ) lagrat i en –textfil, (en sekvens av tecken ( bytes )) enligt.
William Sandqvist Melodispelaren Denna demonstrationslaboration visar, steg för steg, hur man skriver ett kort program i programspråket.
William Sandqvist ReadModifyWrite-problemet PORTB = 0; PORTB.0 = 1; PORTB = PORTB; Vilket värde har portpinnen RB1 nu ? Förmodligen ”1”,
William Sandqvist Flera saker samtidigt? /* Blink1: 1s ON - 1s OFF */ /* Blink2: 0,2s ON - 0,2s OFF - 1s ON - 1s OFF */
William Sandqvist DA-omvandling, oftast PWM.
William Sandqvist Är Du bra på for-loopar? Ge triangelns höjd: 12 1> * > *** > *****
William Sandqvist Funktionsbibliotek När man utvecklat en funktion så långt att den är "färdigutvecklad" kan man lika gärna spara den på.
William Sandqvist PWM Sinusoidal Hur tillverkar man en sinusformad spänning? En PWM-signal kan ge en sinusapproximation. Efter filtrering.
Kronljusströmställaren 0, 1, 2, 3
NOTIS – Ökad arbetslivsanknytning i utbildningen
William Sandqvist Övning 7 Interrupt, Exeption, Trap.
Robotprogrammering med Arduino Robot
Shannon dekomposition
DA-omvandling, oftast PWM William Sandqvist En DA-omvandlare tar stor plats på processor- chippet. Den vanligaste DA-lösningen är i stället.
William Sandqvist Övning 7 Interrupt, Exeption, Trap.
William Sandqvist Några experiment med XPortPro.
CHI-TSONG CHEN KAPITEL 2- Systems Kortfattade läsanvisningar Läs hela kapitlet utom 2.9 och 2.10.
Kommunikationspass Jag heter
Operativsystem Vad är det för något ? Varför har man operativsystem ? Vilka finns det ?
KPP053, HT2015 MATLAB, Föreläsning 4
Microprocessor / Microcontroller
The Online Way to Engagement and Wedding Jewelry! Pearlleady.com.
Mail med länk.
Verbs in the progressive
Validera hjärtstartare i Sveriges Hjärtstartarregister
Presentationens avskrift:

William Sandqvist Polling och Interrupt Antag att Du sitter i en skön fåtölj och läser en bok. Plötsligt blir Du avbruten av att telefonen ringer, Du markerar med en blyertspenna var i boken Du befann dig och svarar. Under samtalet ringer det på dörrklockan och Du ber den Du talar med i telefonen med att dröja kvar medan Du går till dörren.

William Sandqvist Interrupt När Du är färdig med ärendet vid dörren återupptar Du telefonsamtalet. När Du efter ett tag har talat färdigt i telefonen och avslutat telefonsamtalet kan Du återvända till fåtöljen och fortsätta med att läsa den goda boken - vid blyertsmärket.

William Sandqvist Polling Om inte interrupt funnes vore man tvungen att rusa runt mellan dörren – står någon där? – telefonen – någon där? och soffan. Det som kallas för polling.

William Sandqvist Interruptmekanismer Global och Local Enable Vill Du inte bli störd kan Du sätta på dig öronproppar – Du har då omöjliggjort interrupt, disable interrupt. Tar Du bort öronpropparna har Du åter möjliggjort interrupt, enable interrupt. Detta kallas för Global Enable. Du har även möjlighet på lokal nivå enabla/disabla inter- rupt, Local Enable. Du kan tex. disabla telefonen genom att dra ur jacket. Då hör Du fortfarande dörrklockan.

William Sandqvist PIC-processorns interrupt Logiknätet för interrupt hos 16F628 med 10 interruptkällor. GIE är Globalt Enable. T0IE, INTE, RBIE är lokala enable för timer0, int-pinne, och portb interrupt. PEIE möjliggör lokalt enable för ytterligare sju periferienheter. Globalt Enable Lokalt Enable Peripheral Enable

William Sandqvist Interruptflaggor TMR1IF TMR2IF CCP1IF CMIF TXIF RCIF EEIF T0IF INTF RBIF är namnen på ”flaggor” som indikerar olika interruptorsaker. Om det finns en orsak och den är lokalt enablad (om det är en periferienhet – även perifert enablad) och globalt enable gäller – då blir det Interrupt!

William Sandqvist Interruptflaggor

William Sandqvist Interruptrutin Vid interrupt körs Interruptrutinen. Den ligger på fix plats i början av programminnet. #pragma origin 4 interrupt int_server( void ) { int_save_registers /* interrupt routine */ int_restore_registers } Interruptrutinen startar alltid på adress 4! Makron för att spara register annars återlämnar interrupt- rutinen förvanskade resultat till huvudprogrammet!

William Sandqvist Återställ interruptflaggan Interruptflaggorna visar vad som orsakat interruptet. I interruptrutinen kontrollerar man flaggorna och gör vad som behöver göras. Den interruptflagga som är 1 måste 0-ställas på slutet av interruptrutinen – annars fortsätter interruptet för evigt!

William Sandqvist Klaffskåp med blänkare Ett "klaffskåp med blänkare", en elektromekanisk signalanordning som förekom i början av 1900 talet i paradvåningar. Från trycknappar i de olika rummen kunde man kalla på serveringspersonalen eller hembiträdet. Ringklockan i klaffskåpet ringde och motsvarande "blänkare" för respektive rum föll ned. När uppdraget utförts tryckte betjäningen på knappen under "blänkaren" så att den återställdes. - Är det månne härifrån Microchip fått idén till sitt interrupt?

William Sandqvist Testa interrupt – Kilroy was here INTEDG = 0; /* interrupt on negative going edge */ INTEDG = 1; /* interrupt on positive going edge */ Intedge-flaggan finns i Option-registret.

William Sandqvist /* exint62x.c External interrupt turns on light */ #include "16F628.h“ #include "int16Cxx.h“ #pragma config |= 0x3f90 #pragma origin 4 interrupt int_server( void ) { int_save_registers /* test if it is the INT-interrupt? */ if( INTF == 1 ) { /* this time it's obvius that it is! */ PORTA.2 = 1; /* Lightdiode on to show "Killroy was here" */ INTF = 0; /* Reset INT-flag before leaving */ } int_restore_registers } Denna interruptrutin tänder lysdioden – om vi hamnar i den …

William Sandqvist void main( void ) { /* the main program */ /* no comparators at PORTA */ CM0=1; CM1=1; CM2=1; TRISB.0 = 1; /* RB0/INT is input */ TRISA.2 = 0; /* RA2 output to lightdiode */ PORTA.2 = 0; /* No light on! */ INTEDG = 0; /* interrupt on negative going edge */ INTE = 1; /* local enable */ GIE = 1; /* global enable */ /* switch off ligtdiode every second */ while( 1 ) { delay10(100); PORTA.2 = 0; } } Det här huvudprogrammet tänder definitivt inte lysdioden!

William Sandqvist Vem var Kilroy? Fartygsinspektör James J. Kilroy från Massachusetts. Klassisk Graffiti ”Kilroy was here” fins markerat: -toppen av Mount Everest, -Frihetsgudinnans fackla, -undersidan av Triumfbågen i Paris, -Marco Polo-bron i Kina, -hyddor i Polynesien, -en av George Washington-brons balkar i New York, -i dammet på månen … Snart har Kilroy också tänt din lysdiod!