DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Arrays en pointers lichtkrant op het ARM bordje.

Slides:



Advertisements
Verwante presentaties
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Operatoren, Arrays, Command-line tools.
Advertisements

KPRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Les 2 sheet 1 Wat gaan we doen:  Een (vaste) melodie.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail: Sheets en.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 4 - onderwerpen Multiplexen.
DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Beginselen van C opgaves… volgende week: ARM.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 7 onze.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 3 redirection,
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail: Sheets en.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag User-defined characters op de.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag top-down decompositie Opdrachten:
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Maak, uitgaande van een MIDI file, een (klein) programma.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  Een (vaste) melodie spelen op de PC speaker 
Inleiding computersystemen en netwerken Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 2.1 Programmeren (2.9) assembler,
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Een embedded systeem: ARM bord.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  de track structuur van een MIDI file interpreteren.
Trillingen en Cirkelbewegingen
4/10/2017 Opleiding BINNENISOLATIE voor thermische renovatie Module 3 Train the trainer – 06/12/ Brugge.
Isaac Newton Omdat een beetje extra bijscholing nooit kwaad kan 
Wageningen University Meteorologie en Luchtkwaliteit
Hoe deel je gesteenten in? Codering; Streckeisen
Havo 5: Stoffen en Materialen
Handboek Commercieel Budgetteren: toegepast J. Vanhaverbeke & L
Veevoeding Blok 3 en 4: Ruwvoerbalans melkveehouderij
Dynamica van luchtstromen
Jeugd in het Strafrechtelijk kader Les 3, 2016 ‘Needs’
Natuurkunde Overal Hoofdstuk 1: Beweging in beeld.
Klaar met het PW? Lees aandachtig het samenvattingenblad hst 7
Greenbuilding project
Financiële situatie Volley
Portfolio Zon projecten.
Door Marco Lassche, Joyce Mulder en Mare de Winter
VAN KEUKENBLAD TOT FRIKANDEL presentatie door Koen Ongkiehong
Energielening.
De missie, het hart en het broodtrommeltje
Context 4 Verlichtingsideeën en de democratische revoluties
Gaat u dan snel naar Goedkoop of in kleine oplagen kleding (laten) bedrukken, met een embleem, logo en/of tekst van uzelf, of.
Bomen en struiken IVN Helden.
STUUR DIT AAN EEN SLIMME VROUW... EN AAN ALLE MANNEN... DIE ER TEGEN KUNNEN !!! Na 5000 jaar moppen over vrouwen... uiteindelijk moppen over mannen.
Roundtable De Gefragmenteerde Organisatie
Welkom.
Mictieklachten bij mannen
Quel jour sommes-nous aujourd’hui ?
Hoofdstuk 6 Warmte.
Outdoor Advanced - Specialist Tuin en Openbaar Groen 3.1,
RECHT VAN SPREKEN FUNCTIONEREN OC’S 2016
Toolbox: ATEX ATmosphere - EXplosive
Groeiende kritiek op de katholieke Kerk rond 1500
En blessurepreventie Trainingsopbouw.
Six hats: Werken met netwerken? Mijn gedacht
VEELTERMEN BLADWIJZERS: GETALWAARDE OPTELLEN EN AFTREKKEN
Omdenken Een kleine test….
Toevoeging H5 Elektriciteit
Hoofdstuk 3 In beweging.
Reisconferentie van zorg naar zelfregie
Klaar met de toets? Lees aandachtig het samenvattingenblad hst 6
Je kunt iedere dag iets betekenen voor een ander
Rd4-afvalconferentie november 2016
Nienke Hoffman Teamleider bovenbouw 28 maart 2017
TAALSITUATIE & - ONTWIKKELING IN VLAANDEREN
NIET-RATIONELE BESLISSINGEN in de TECHNIEK
Hoofdstuk 5 Les 1: Markten.
6. Sleutelvoedingsfactoren
Hst. 2 Het geslachtsapparaat
Wees welkom op deze 1STE cursus windows SPECIAAL ONTWIKKELD VOOR AMBTENAREN Vergeet niet te rusten tijdens de cursus en neem een relaxe houding aan tijdens.
De Here zeide tot Mozes: Ga, Ik zend u tot Farao
Participatie in Onderzoek ZonMw
DE WINST VAN ZORGVRIENDELIJK WERKGEVERSCHAP
VPH Les 13.
Havo 3 Mevrouw Dolislager
Transcript van de presentatie:

DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Arrays en pointers lichtkrant op het ARM bordje

DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 2 Array declaratie Een aantal geheugenplekken van het zelfde type Het aantal ligt (in C) vast bij het compileren Declaratie: type naam[ aantal ]: float cijfers[ 100 ]; char naam[ 132 ]; int schaakbord[ 8 ][ 8 ]; Gebruik: naam[ index ]: for( i=0; i<100; i++) cijfers[ i ] = 6.7;

DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3 Array gebruik Gebruik: naam[ index ]: for( i=0; i<100; i++) cijfers[ i ] = 6.7; Het zal de compiler worst wezen als jij dom bent: cijfers[ - 1 ] = cijfers[ 100 ]; Als parameter hoeft je alleen te vermelden dat het een array is (niet de lengte): int length( char regel[] ){ … }

DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 4 C arrays, C pointers een char array is een verzameling (0..n) characters behalve bij het definieren wordt de lengte *niet* genoemd! een array wordt geindexeerd: a[ i ] een int pointer wijst naar een verzameling (0..n) ints naar hoeveel wordt nergens genoemd! een pointer wordt gedereferenced: *a met een pointer kan je rekenen, de ‘teleenheid’ is de omvang van het basistype (bv int)

DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 5 C arrays, C pointers gebruik van een array char a[ 10 ]; for( i = 0; i < 10; i++ ){ a[ i ] = ’x’; } gebruik van een pointer char *p =...; for( i = 0; i < 10; i++ ){ *p = ’x’; p++; }

DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6 C pointers een pointer wijst uitzichzelf (nog) nergens naar int *p; *p = 15; /* geen idee waar de pointer heen wijst! */ een pointer kan wijzen naar een ‘gewone’ variabele int i; int *p = &i; *p = 15; /* OK */ p++; int *p = 15; /* fout! */

DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 7 een array is een pointer? int a[ 100 ]; int *p; p = &a[ 0 ]; p = a; a = p; a[ 10 ] = 12; *( p + 10 ) = 12; *( a + 10 ) = 10; p[ 10 ] = 10; 1 regel is fout, de rest is goed!

DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 8 drie mogelijke implementaties van strlen a) int strlen( char s[] ){ int i = 0; while (s[i] != ‘\0’) i++; return i; } b) int strlen( char *s ){ int i = 0; while( *( s + i ) != ‘\0’){ i++ } return i; } c) int strlen( char *s ){ int i = 0; while( *s != ‘\0’){ s++; i++ } return i; }

DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 9 Hello world op ARM bordje (lcd.zip) #include "ark.h" int main(){ ARK_CH_LCD_init(); for(;;){ ARK_CH_LCD_clear(); ARK_wait_us( 500 * 1000 ); ARK_CH_LCD_string_write( "Hello world !" ); ARK_wait_us( 500 * 1000 ); } return 0; }

DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 10 Opdracht: ’lichtkrant’ op ARM bordje Maak op een scrollende tekst zichtbar op het ARM bordje. Doe dit als volgt: -Neem een van de strlen functies over -Roep in je main (na het initialiseren van de LCD), in een oneindige lus, de functie lichtkrant aan, met als parameter de tekst die je wilt laten zien. Die tekst is langer dan het display

DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 11 Opdracht: ’lichtkrant’ op ARM bordje -De functie lichtkrant krijgt dus een char * mee. -Hij maakt eerst het LCD leeg. -Hij roept ARK_CH_LCD_string_write aan met die string, en wacht even. -Vervolgens checkt hij of alle characters er op pasten, zo ja dan wacht hij nog wat langer en keert dan terug (return). -Als nog niet alle characters er op pasten: schuif de pointer een stap op en weer schrijven.