Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

I det efterfølgende kommer nogle eksempler på C kode som adskiller sig fra det vi normalt anvender i C# Hvis du har behov for hurtigt at afprøve små stumper.

Lignende præsentationer


Præsentationer af emnet: "I det efterfølgende kommer nogle eksempler på C kode som adskiller sig fra det vi normalt anvender i C# Hvis du har behov for hurtigt at afprøve små stumper."— Præsentationens transcript:

1 I det efterfølgende kommer nogle eksempler på C kode som adskiller sig fra det vi normalt anvender i C# Hvis du har behov for hurtigt at afprøve små stumper C kode kan det anbefales at prøve denne side.

2 Shift left/right #include <stdio.h> main(){ int a = 0x1; int b; //Skifter a fire pladser til venstre a <<= 4; //Sætter b = a skiftet 2 pladser til højre b = a >> 2; printf("a = %i\n",a); printf("b = %i\n",b); }

3 Bitwise And/Or #include <stdio.h> main(){ int a = 0x27; // int b = 0xF0; // int c; int d; c = a & b; // d = a | b; // printf("a = %0x\n",c); printf("b = %0x\n",d); }

4 Char arrays #include <stdio.h> main() { //I Ansi C anvender vi char arrays i stedet for strings char buff[255]; sprintf(buff, "%s ", "adcVal"); printf("%s\n", buff ); }

5 Include og Macro //Linien herunder inkluderer filen stdio.h i projektet. //Søger i alle directories specificeret af dit IDE #include <stdio.h> //Linien herunder inkluderer stm32f10x.h som ligger i samme folder som projektfilen #include "stm32f10x.h" // Device header //Linien herunder definerer to konstanter #define PERIPH_BASE ((uint32_t)0x ) #define APB2PERIPH_BASE (PERIPH_BASE + 0x10000) //Linien herunder definerer en macro som omregner mellem RAD og DEG #define RADTODEG(x) ((x) * ) main(){ float x = 3.14; printf("%f",RADTODEG(x)); }

6 Pointer #include <stdio.h> #include <string.h> main() { int i; //An int int *iptr; //A pointer to an int i = 5; iptr = &i; //iptr peger på det sted hvor i står *iptr = 6; // printf("%i\n",*iptr); //Print indholdet af det felt som iptr peger på } Da embedded programmering meget handler om at skrive til bestemte registre i processoren anvendes ofte pointer. En pointer er en pegepind som peger på en bestemt adresse. Hver gang man opretter en variable oprettes faktisk en pointer som peger på det sted i hukommelsen hvor variablen ligger. Ved hjælp af pointere kan vi således ramme et bestemt sted i memory når vi skriver til en variabel.

7 Pointer fortsat Executing the program.... $demo i Startvalue = 5
// Testet på #include <stdio.h> void testint(int i){ i += 1; printf("i value in testint = %i \n",i); } void testintptr(int *i){ *i += 1; printf("i value in testintptr = %i \n",*i); main() { int i = 5; int *iptr; //int* ptarr[10]; // An array of int pointers. printf("i Startvalue = %i\n",i);//Print i testint(i); printf("i value after testint =%i\n",i);//Print i testintptr(&i); printf("i value after testintptr =%i\n",i);//Print i Executing the program.... $demo  i Startvalue = 5 i value in testint = 6 i value after testint =5 i value in testintptr = 6 i value after testintptr =6


Download ppt "I det efterfølgende kommer nogle eksempler på C kode som adskiller sig fra det vi normalt anvender i C# Hvis du har behov for hurtigt at afprøve små stumper."

Lignende præsentationer


Annoncer fra Google