din rapport ?

18
William Sandqvist [email protected] Din rapport ? Beskriv din applikation. Förklara i ord vilket problem din applikation löser, och hur den gör det. Beskriv hur vi kan ”kontrollera” att applikationen verkligen fungerar.

Upload: grady-lopez

Post on 30-Dec-2015

22 views

Category:

Documents


0 download

DESCRIPTION

Din rapport ?. Beskriv din applikation.  Förklara i ord vilket problem din applikation löser, och hur den gör det.  Beskriv hur vi kan ”kontrollera” att applikationen verkligen fungerar. Bilden är nu kompletterad med namnen på de olika delarna, och har försetts med zonindelning …. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Din rapport ?

William Sandqvist [email protected]

Din rapport ?

Beskriv din applikation.

Förklara i ord vilket problem din applikation löser, och hur den gör det.

Beskriv hur vi kan ”kontrollera” att applikationen verkligen fungerar.

Page 2: Din rapport ?

William Sandqvist [email protected]

En bild säger mer än 1000 ord?En bild kan säga mer än tusen ord, men förklarar bilden hur jetmotorn fungerar?Bilden är nu kompletterad med namnen på de olika delarna, och har försetts med zonindelning …För att förklara motorns funktion kan man i stället använda ett blockschema. Motorn består av olika namngivna funktionsblock, och pilar mellan dem visar hur de påverkar varandra.

Page 3: Din rapport ?

William Sandqvist [email protected]

Blockschema

Detta är ett exempel på ett blockschema över en mikroprocessor-utrustning. Här definieras man namnen på de ingående delarna – och ser sedan till att använda precis dessa namn i rapport-text och i programkods-kommentarer.

Rapporten skall innehålla ett blockschema över din hårdvara.

Page 4: Din rapport ?

William Sandqvist [email protected]

Funktionsprototyp - Produkt

Meningen med en funktionsprototyp är att övertyga andra om att man har löst de tekniska/programmeringstekniska problem som kan finnas med applikationen.

Man har medvetet avstått från en mängd egenskaper som en färdig produkt måste ha. Detta har man gjort för att spara kostnader och utvecklingstid.

Man måste vara tydlig med vad som ingår, och vad man avstått ifrån. Det man avstått ifrån måste upplevas som okontroversiellt.

Till exempel kan man visa en funktionsprototyp på ett ”stort” kopplingsdäck, samtidigt som man har ”beräknat” att produkten skulle få plats på ett 55 mm kretskort. Alla känner till att elektronikprodukter kan miniatyriseras.

Det Du gjort i kursen är förmodligen en funktionsprototyp.

Functional prototype (working prototype)

Page 5: Din rapport ?

William Sandqvist [email protected]

Demonstrationsutrustning

Det kan vara möjligt att din funktionsprototyp inte kan användas till demonstrationen?

Du har högst 10 min på dig att genomföra din demonstration.Om tanken är att utrustningen ska ge larm efter ett dygn, så måste Du ”skala om” larmtiden till kanske 10 sek. Gör de ändringar i programmet som behövs för att demonstrationen ska ”flyta smidigt”.

Den programkod du lämnar in skall vara den för funktionsprototypen, inte för demo-varianten!

Page 6: Din rapport ?

William Sandqvist [email protected]

Programstruktur

I kursmaterialet finns många exempel på strukturdiagram.

Strukturdiagram används för att visa programstrukturen.

Om inte diagrammet ryms på en sida så har Du gjort diagrammet för detaljerat.

Skriv i stället ett funktionsanrop tex. MuchToDo() i rutan, och gör ett eget strukturdiagram på ett nytt blad för funktionen MuchToDo().

Gör strukturdiagram över din kod.

Page 7: Din rapport ?

William Sandqvist [email protected]

Interrupt

Interruptrutinen har ett fristående strukturdiagram.

Page 8: Din rapport ?

William Sandqvist [email protected]

Tillståndsdiagram

Ibland kan det vara enklare att beskriva delar av programmet som en tillståndsmaskin (då gör man det) …

State=NextState(State,In)Action(State)

Page 9: Din rapport ?

William Sandqvist [email protected]

Flödesdiagram

Verktyg för att rita flödesschemor finns i

Word och Powerpoint.

Flödesdiagram använder man när det är viktigt att visa precis hur processorn exekverar koden. Till exempel när man analyserar assemblerkoden för att kunna se till att olika vägar genom programmet tar samma tid.

Normalt använder man strukturdiagram för beskriva programstrukturer.

Page 10: Din rapport ?

William Sandqvist [email protected]

Olika vägar – samma tid?

Page 11: Din rapport ?

William Sandqvist [email protected]

Den genererade assemblerkoden

BTFSS 0x1F,C1OUT

GOTO m001

NOP NOP NOP NOP NOP GOTO m002

m001 BCF 0x03,RP0BCF 0x03,RP1INCF result,1

BTFSC 0x03,Zero_

INCF result+1,1

NOP

m002

BTFSS 0x1F,C1OUT

GOTO m001

NOP NOP NOP NOP NOP GOTO m002

m001 BCF 0x03,RP0BCF 0x03,RP1INCF result,1

BTFSC 0x03,Zero_

INCF result+1,1

NOP

m002

Page 12: Din rapport ?

William Sandqvist [email protected]

Flödesschemat visar att passagen genom detta programavsnitt alltid tar 9 cykler.

Man har här skjutit in nop() instruktioner i C-koden där det visat sig behövas.

Page 13: Din rapport ?

William Sandqvist [email protected]

ProgramkodProgramkod skrivs med ett typsnitt som har fast bredd (”skrivmaskinstil”).Vanliga typsnitt har annars variabel bredd: ”i” är ju smalare än ”W”.

Courier New, är ett sådant ”fast” typsnitt. Har Du använt 80 tecken per rad i texteditorn ska Size väljas till 8 punkter för att raderna ska få plats på A4. Om raderna bryts blir koden svårläst.

Tab-tecken kan behöva bytas ut mot mellanslag.

Page 14: Din rapport ?

William Sandqvist [email protected]

Kommentarer

Om man skriver alla kommentarer på engelska så kan man dra nytta av att det finns miljoner duktiga PIC-programmerare världen över (se Internet).

Du kan räkna med att lätt hitta någon som förstår ditt program och som är beredd att vidareutveckla din kod (mot skälig betalning …).

Om Du Publicerar kod med engelska kommentarer så är den tillgänglig för hela världen.

Kommentarer // eller /* */ på engelska.

Page 15: Din rapport ?

William Sandqvist [email protected]

ASCII-grafik

Viktig information kan bakas in i programkoden som ASCII-grafik.

Den finns då tillgänglig för alla oavsett system.

Page 16: Din rapport ?

William Sandqvist [email protected]

Andras kod?Ange vilken kompilator som använts. Speciellt viktigt är detta om kompilatorn ej är ANSI-standard. Den intresserade kan gå till källan och se vad som står i include-filer och programbibliotek. Dom behöver i så fall inte tas med i programlistningen.

/* B Knudsen Cc5x C-compiler - not ANSI-C */

Markera kod som Du ej skrivit själv (tex. med kursiv text) och ange källa i kommentaren. Koden tas med i programlistningen eftersom det kan vara svårt för andra att hitta källan.

Använd gärna andras kod. Markera vad som andra skrivit. Ge cred.

Page 17: Din rapport ?

William Sandqvist [email protected]

Ambitionsnivå?

Kursen ger som högst betyget ”P” Passed (Godkänd).Det är lika för alla, men inte speciellt rättvist!

Tänker Du använda kursintyget till att påstå att Du kan PIC-programmering när Du söker jobb, bör Du bifoga en mycket välskriven rapport!

Annars så vill jag åtminstone ha en prydlig rapport att stoppa i min pärm. (Kanske kommer det någon högskoleinspektör någon gång och vill se kursens rapporter?)

/william

Page 18: Din rapport ?

William Sandqvist [email protected]

Platsannonser ”PIC-programmerare”

Här finns utrymme för platsannonser: