Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Efteruddannelse Embedded C Modul 1 (Mandag den 19/4-2010) 07.01.2010.

Lignende præsentationer


Præsentationer af emnet: "Efteruddannelse Embedded C Modul 1 (Mandag den 19/4-2010) 07.01.2010."— Præsentationens transcript:

1 Efteruddannelse Embedded C Modul 1 (Mandag den 19/4-2010) 07.01.2010

2 Modul 1 Indhold: 1)Introduktion 2)Den valgte platform (PIC18F Starter Kit 1) 3)Udviklingsværktøj (MPLAB) 4)Grundelementer i sproget C 5)Afrunding på dagen

3 Præsentation af kurset (Embedded C)  Beskrivelse af kurset Beskrivelse af kurset  Plan og indhold for kurset Plan og indhold for kurset

4 Praktiske oplysninger Møde tider og skema: Mandag til torsdag: Vi starter med morgen kaffe 8.30 Ca. 11.45 er der frokost 15.30 slutter dagens modul Fredag: Her slutter dagens modul 12.30

5 Praktiske oplysninger Kontakt informationer: Skolen kan kontaktes pr. telefon på 72505900 eller pr. email : noea@noea.dknoea@noea.dk Skolens adresse er : Sofiendalsvej 60, Postboks 71, 9100 Aalborg Underviser kan kontaktes på tlf. 25266921 Via mail: ihn@noea.dkihn@noea.dk Eller via Messenger på ihn@ihn.dkihn@ihn.dk

6 Praktiske oplysninger Login til skolens netværk: Hver kursist får tildelt et login til skolens netværk, ved første login skal password ændres, så man får et unik password. Med sit password er det også muligt, at koble op til skolens trådløse netværk (det er et krav at man har en virus scanner installeret på ens maskine (hvis man bruger egen bærbar). Undervisningsmateriale kan hentes fra skolens netværk fra serveren \\o2232 i kataloget \EmbeddedC_U16\\o2232 Fra internettet via http://public.noea.dk/EmbeddedC_U16/

7 Dropbox Som en ekstra mulighed for, at hente (og udveksle) undervisningsmateriale og kodeeksempler vil der blive oprette en dropbox, som i via mail bliver indbudt til at tage del i. Information om anvendelse af dropbox, samt nødvendig software kan hentes på: http://www.dropbox.com/

8 Udviklingsplatformen

9 PIC18 Starter Kit Producent: Microchip Varenummer: DM180021 Pris: 60 USD

10 Features for PIC18F starter kit Onboard Debugger Virker sammen med MPLAB Mulighed for tilslutning af ekstern debugger f.eks PICkit

11 Features for PIC18F starter kit Microcontroller: PIC18F46J50 64kbyte Flash program memory 3776 byte Ram nanoWatt XLP Technology USB interface Clock frekvens 48MHz Low cost

12 Features for PIC18F starter kit Capacitive Touch Buttons og scroll bar.

13 Features for PIC18F starter kit 2GB micro SD-Kort Kan sammen med bootloader anvendes til at boote applications programmer fra fra.

14 Features for PIC18F starter kit Menu knap, anvendes b.la til at aktivere SD flash bootloader

15 Potentiometer der anvendes til at generere input spænding til A/D-konverter

16 Monochrom OLED display 128x64 pixel Grafisk og alfanumerisk

17 Features for PIC18F starter kit 3-aksers acceleration sensor BMA150

18 Features for PIC18F starter kit Mini-B USB til host

19 PIC18F46J50’s Features  Parallel Master Port (PMP)  Real-Time Clock and Calendar (RTCC)  USB Device Capability  Charge Time Measurement Unit (CTMU)  Master Synchronous Serial Port (MSSP)  Enhanced Capture/Compare/PWM (ECCP)  10-Bit, 13-Channel Analog-to-Digital Converter  Two Enhanced USART  Peripheral Pin Select

20 Forbindelse af board

21 Bootloader

22 Bootloader display kommunikation

23

24 Øvelse Lav øvelserne i filen : Lab1.docx Findes her : \\o2232\EmbeddedC_U16\Opgaver

25 C’s Historie C er udviklet i 1972 af Dennis Ritchie fra Bell Telephone Laboratories og det skulle anvendes i forbindelse med en ny version af UNIX.Dennis RitchieBell Telephone Laboratories Det er siden hen blevet et meget anvendt programmerings sprog der er god til “lidt af hvert”. Mange mere moderne sprog anveder samme syntaks som C, hvilket gør det lettere, at lære sig nye sprog.

26 Fra hardware til software (løg modellen)

27 Compileren

28 Compilering af flere filer

29 Processen fra source kode til kørende app.

30 Eksempel på vejen fra Source code til eksekverbar kode

31 Compilering af multi fil app.

32 Source filer (.c) Header filer (.h).c filer indeholder selve source koden.h filen indeholder indeholder C erklæringer og makro-definitioner, der skal deles mellem flere source filer

33 Eksempel på brug af header fil i C extern void initLcd(); extern void writeLcd(char *str); Definitioner, macroer og prototype erklæringer #include void initLcd() { …. } void writeLcd(char *str) { ….. } #include #include ”lcd.h” void main() { initLcd(); writeLcd(”Hello World”); …… } lcd.h lcd.cmain.c evt. main.h

34 Hvad kende tegner embedded program Nedenfor er opstillet nogle ”krav” eller mål vi gerne vil nå når vi laver embedded programmer (og nok også andre typer af programmer)

35 Eksempel på et simpelt C program #include void main() { printf(”Dette er en lille test\n”); printf(”Dette bliver skrevet på næste linie”); getchar(); return 0; }

36 Gundbestandel i et C program (basic elements) Et C program består af nogle grundlæggende bestanddele disse er listet nedenfor, der er brugt engelsk navne, men i parentes er den danske oversættelse skrevet: Comments (Kommentarer) Constants (Konstanter) Variables (Variabler) Expressions (Udtryk) Operators (Operatorer) Identifiers (Identifikatorer) Statements (ordre, sætning) Statement block (blok)

37 Comments Start på comments i c /* Slut på comments i C */ // betyder kommentar linien ud, er C++ syntaks Eks.: /* Dette er mit første program Programmet skriver hello world */ Eks.: // Her er en linie med en comments

38 Constants En constant er en ”værdi” der, som navnet antyder ikke kan ændre sig. En konstant kan være tekst eller tal (gennem typisk i ”ROM”). Eks.: i = 100; Her er 100 en tal konstant; Eks.: ”Dette er en tekst” Her er vist et eksempel på en konstant tekst

39 Variables Er elementer der kan indeholde en værdi der kan ændre sig. Eks.: antal = 123; Her er antal en variabel i eksemplet bliver variablen tildelt værdien 123.

40 Expressions Et udtryk er en kombination af konstanter, variable og operatorer der tilsammen danner et udtryk der kan beregnes af computeren. Eks.: 123 + 20*(antal +10) Eks.: 10*cos(x)

41 Operators Der findes i C flere typer af operatorer boolske, binære og aritmetiske. Den sidste type er den vi normalt anvender når vi skal lave matematiske udtryk. SymbolBetydning +Addition -Subttraktion og fortegns minus *Multiplication /Division %Rest af heltals division (modulus)

42 Identifiers Udover tal og operatorer kan et udtryk indeholde navne eller referancer til f.eks funktioner etc. Disse navne kaldes identifiers og skal overholde nogle regler. (Der skeldnes mellem store og små bogstaver) Første karakter i identifier: 1.Karakterene A til Z og a til z 2._ (underscore) Efterfølgende karakterer: 1.Karakterene A til Z og a til z 2._ (underscore) 3.Tallene fra 0 til 9 Generelt må man ikke anvende speciale karakterer i identifiers

43 Statemets I C betegner en statement en ”komplet” instruktion eller kommando og afsluttes med et semikolon. Statements afvikles i den rækkefølge de er skrevet i programmet. Eks.: i = 7913; antal = 20*(i + 30);

44 Statement blocks En gruppe af statements kan tilsammen danne en blok (ved at placere dem mellem { }). En blok behandles som en statement. Eks.: for (i = 0; i < 10; i++) { antal = i; sum += antal; }

45 Funktioner i C I C kan programmer deles op i mindre bygge bloke kaldet funktioner, disse kan herefter kaldes når vi ønsker at gøre brug af dem i vores program. Eks.: int gennemsnit(int x, int y) { int resultat; resultat = (x+y)/2; return resultat; }

46 Data typer Heltals datatyper er datatyper der indeholder et heltal (!! det kan godt være et nummer på et symbol i ascii tegn tabellen). Komma tals datatyper (floating-point) er datatyper der indeholder et tal der er delt op i en heltals del og en decimaldel. I C skal variable erklæres før de kan anvendes, og ved erklæringen skal datatypen angives. (C er et såkaldet type stærkt sprog) Heltals datatyperFloating-point datatyper char int float double

47 Little-endian format MPLAB-C anvender little-endian format når der gemmes data i memmory der er større end en byte

48 Float og double Range for Floating-Point Typer (MPLAB-C18)

49 IEEE-754 foating point format s = +1 (positive numbers and +0) when the sign bit is 0 s = −1 (negative numbers and −0) when the sign bit is 1 e = exponent − 127 (in other words the exponent is stored with 127 added to it, also called "biased with 127") m = 1.fraction in binary (that is, the significand is the binary number 1 followed by the radix point followed by the binary bits of the fraction). Therefore, 1 ≤ m < 2. v = s × 2 e × mGenerel form

50 Eksempel på float I eksemplet vist ovenfor, er sign 0 s er positiv, exponent er 124 så e er −3, og endeligt er m 1.01 (binært, hvilket svarer til 1.25 i decimal). Talet er derfor +1.25 × 2 −3, hvilket også kan skrives : +0.15625.

51 Datatyper i MPLAB C18 C-compiler I C standarten er størrelsen på variabler ikke defineret ! Derfor variere den fra Compiler til compiler (platform til platform). TypeSizeMinimumMaximum char(1,2) 8 bits-128127 signed char 8 bits-128127 unsigned char 8 bits0255 int 16 bits-32,76832,767 unsigned int 16 bits065,535 short 16 bits-32,76832,767 unsigned short 16 bits065,535 short long 24 bits-8,388,6088,388,607 unsigned short long 24 bits016,777,215 long 32 bits-2,147,483,6482,147,483,647 unsigned long 32 bits04,294,967,295 Note 1: A plain char is signed by default. 2: A plain char may be unsigned by default via the -k command-line option.

52 Char Datatype der normalt er på 8 bit Kan indeholde et tal fra 0 til 255 eller et nummer på en karakter ifølge ASCII tabellen Kan udskrives som et tal eller som en karakter. Kan anvendes i udregninger (udtyrk) Eks char c; // c erklæres af datatypen char c = ’A’; // c tilskrives værdien for karakterens A // ASCII ”nummer”

53 Speciale karakterer Nogle karakterer i ASCII tabellen er såkaldte speciale karakterer, disse kan være karakterer der ikke umiddelbart er ”synlige”, men har en anden betydning end som et synlig symbol (f.eks return tasten, tab tasten etc). For at angive en special karakter benyttes escape karakteren \ efterfulgt af et bogstav eller et tal. KarakterBeskrivelse \b \f \n \r \t Backspace Formfeed New line Return Tab

54 Int Datatype der kan indeholde 2 16 = 65535 forskellige værdier. Datatypen angives med int. Unsigned Signed

55 Reserverede ord i C Følgende ord må ikke anvendes som identifier i et C program: C Reserved Words: autobreak case chart const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while

56 Udviklingsværktøjet MPLAB og C18

57 Workspace – Samler src og andre dokumenter Source code Header files Linker script

58 Setup for project Setup for projekt gemmes i workspacet. Setup indeholder stier til src, lib compiler osv. osv.

59 Demo af MPLAB I kataloget C:\Microchip Solutions\PIC18F Starter Kit 1\Documentation findes user manualen for PIC18F starter kit og her findes en god gennemgang af hvordan man opretter projekter i MPLAB.  Demo af MPLAB

60 Gennemgang af helloworld koden Hvorfor kalder vi funktionen BL_CheckLoaderEnabled(); ? Hvad sker der hvis vi fjerner kaldet til BL_CheckLoaderEnabled(); ? Tegn hvordan funktioner kaldes i programmet

61 Øvelse I mappen /src/modul1 findes projektet helloworld udpak denne og åben den herefter med MPLAB. Læs programmet igennem (kun main.c filen), ændre printf linien så du udskriver dit eget navn. Compiler koden og læg hex filen over på udviklingsboardet. Afprøv dit program, virker det ?. Prøv evt. at lave nogle ændringer i koden kan du udskrive mere end en linie ?

62 Check Spørgsmål Besvar følgende spørgsmål fra kapitel 6.6: Review questions 6.1, 6.2, 6.9, 6.13 Thought questions 6.12, 6.16, 6.21, 6.23, 6.31, 6.42

63 Opsamling Gennemgang af check spørgsmål Kommentarer Tak for i dag


Download ppt "Efteruddannelse Embedded C Modul 1 (Mandag den 19/4-2010) 07.01.2010."

Lignende præsentationer


Annoncer fra Google