550 likes | 734 Views
Efteruddannelse Embedded C. Modul 1 (Mandag den 11/1-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
E N D
EfteruddannelseEmbedded C Modul 1 (Mandag den 11/1-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 • Plan og indhold for kurset
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
Praktiske oplysninger • Kontakt informationer: • Skolen kan kontaktes pr. telefon på 72505921 • 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
Praktiske oplysninger • Login til skolens netværk: • Hver kursist får tildelt et login til skolens netværk, ved første 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. • Undervisningsmateriale kan fra skolens netværk hentes fra serveren \\o2232 i kataloget \EmbeddedCU2 • Fra internettet via http://public.noea.dk/EmbeddedCU2/
PIC18 Starter Kit Producent: Microchip Varenummer: DM180021 Pris: 60 USD
Features for PIC18F starter kit OnboardDebugger Virker sammen med MPLAB Mulighed for tilslutning af ekstern debuggerf.eksPICkit
Features for PIC18F starter kit Microcontroller: PIC18F46J50 • 64kbyte Flash program memory • 3776 byte Ram • nanoWatt XLP Technology • USB interface • Clock frekvens 48MHz • Lowcost
Features for PIC18F starter kit Capacitive Touch Buttons og scroll bar.
Features for PIC18F starter kit 2GB microSD-Kort Kan sammen med bootloader anvendes til at boote applications programmer fra fra.
Features for PIC18F starter kit Menu knap, anvendes b.la til at aktivere SD flash bootloader
Potentiometer der anvendes til at generere input spænding til A/D-konverter
Monochrom OLED display 128x64 pixel Grafisk og alfanumerisk
Features for PIC18F starter kit 3-aksers acceleration sensor BMA150
Features for PIC18F starter kit Mini-B USB til host
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
Øvelse • Lav øvelserne i filen : • Lab1.docx • Findes her : \\o2232\EmbeddedCU2\Opgaver
C’s Historie • C er udviklet i 1972 af Dennis RitchiefraBell Telephone Laboratoriesogdetskulleanvendes I forbindelse med en ny version af UNIX. • Detersiden hen blevet et megetanvendtprogrammeringssprogderer god tillidtafhvert. • Mange mere modernesproganvedersammesyntakssom C, hvilketgørdetlettere at lære sig nyesprog.
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)
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; }
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)
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
Constants En constant er en ”værdi” der som navnet antyder ikke kan ændre sig. En konstant kan være tekst eller tal. Eks.: i = 100; Her er 100 en tal konstant; Eks.: ”Dette er en tekst” Her er vist et eksempel på en konstant tekst
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.
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)
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.
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
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);
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; }
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; }
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)
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”
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.eksreturn tasten, tab tasten etc). For at angive en special karakter benyttes escape karakteren \ efterfulgt af et bogstav eller et tal.
Int Signed Unsigned Datatype der kan indeholde 216 = 65535 forskellige værdier. Datatypen angives med int.
Little-endian format MPLAB-C anvender little-endian format når der gemmes data i memmory der er større end en byte
Float og double Range for Floating-Point Typer (MPLAB-C18)
Reserverede ord i C Følgende ord må ikke anvendes som identifier i et C program: C Reserved Words: auto break case chart constcontinue default do double elseenumextern float for gotoif int long register return short signedsizeofstatic struct switch typedef union unsignedvoidvolatilewhile