1 / 63

Efteruddannelse Embedded C

Efteruddannelse Embedded C. Modul 1 (Mandag den 19/4-2010). 07.01.2010. Modul 1. Indhold: Introduktion Den valgte platform (PIC18F Starter Kit 1) Udviklingsværktøj (MPLAB) Grundelementer i sproget C Afrunding på dagen. Præsentation af kurset ( Embedded C). Beskrivelse af kurset

Download Presentation

Efteruddannelse Embedded C

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Præsentation af kurset (Embedded C) • Beskrivelse af 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.dk • Skolens adresse er : • Sofiendalsvej 60, Postboks 71, 9100 Aalborg • Underviser kan kontaktes på tlf. 25266921 • Via mail: ihn@noea.dk • Eller via Messenger på ihn@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 • 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 OnboardDebugger Virker sammen med MPLAB Mulighed for tilslutning af ekstern debuggerf.eksPICkit

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

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

  13. Features for PIC18F starter kit 2GB microSD-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 DeviceCapability • Charge Time Measurement Unit (CTMU) • Master SynchronousSerial Port (MSSP) • EnhancedCapture/Compare/PWM (ECCP) • 10-Bit, 13-Channel Analog-to-DigitalConverter • TwoEnhanced USART • Peripheral Pin Select

  20. Forbindelse af board

  21. Bootloader

  22. Bootloader display kommunikation

  23. Bootloader display kommunikation

  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 RitchiefraBell Telephone Laboratoriesogdetskulleanvendesiforbindelse med en ny version af UNIX. • 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 Sourcecode 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 indeholderC erklæringer og makro-definitioner, der skal deles mellem flere source filer

  33. lcd.h evt. main.h Eksempel på brug af header fil i C externvoidinitLcd(); externvoidwriteLcd(char *str); Definitioner, macroer og prototype erklæringer lcd.c main.c #include <stdio.h> voidinitLcd() { …. } voidwriteLcd(char *str) { ….. } #include <stdio.h> #include ”lcd.h” voidmain() { initLcd(); writeLcd(”Hello World”); …… …… }

  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 <stdio.h> voidmain() { 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 helloworld */ 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.

  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: Karakterene A til Z og a til z _ (underscore) Efterfølgende karakterer: Karakterene A til Z og a til z _ (underscore) 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)

  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 v = s × 2e × m Generel form • 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 otherwords the exponent is storedwith 127 added to it, alsocalled "biasedwith 127") • m = 1.fraction in binary (that is, the significand is the binarynumber 1 followed by the radix point followed by the binary bits of the fraction). Therefore, 1 ≤ m < 2.

  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.

More Related