Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afEva Clemmensen Redigeret for ca. et år siden
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
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
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.