Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste



Status

The Reaktor 23 state is:
unknown

Temperatur

??.??°C

Strom

  • Steckdosen: AUS
  • Server: AUS
last update:

thinktank:mikrocontroller

Wissenswertes über Microcontroller


Hier soll alles was abgelegt werden was für die Arbeit mit Mikrocontrollern hilfreich sein kann. Speziell Dinge nach denen man lange gesucht hat, oder man lange fürs Verständnis gebraucht hat und die gut erklärt sind.

Interessante Projekte

Motor Regelung

1-Wire

Software

PID-Regler

  • Hier gibt es eine schöne und ausführliche Erklärung wie man einen PID in einem AVR (Arduino) implementiert.

C-Programmierung

Die meisen derCodeschnipsel sind aus Foren wie dem mikrocontroller.net Forum. Da das suchen in Foren aber mitunter sehr Zeitraubend ist, werde ich die gesuchten und gefundenen Lösungen von Zeit zu Zeit hier ablegen. —Bouni

Statische Variabeln

int f(void)
{
    int count = 0;
    return ++count;
}
 
// ...liefert nach jedem Aufruf '1' als Wert,
 
int f(void)
{
  //static int count; /* hier ist das '= 0' implizit */
    static int count = 0;
    return ++count;
}
 
// ...liefert nach jedem Aufruf 'n+1'. Das Ergebnis wäre Äquivalent zur
// Verwendung einer globalen Variablen
 
//int count; /* hier ist das '= 0' ebenfalls implizit */
int count = 0;
 
int f(void)
{
    return ++count;
}
 
// ...oder einer Übersetzungsmodul begrenzten "lokal-globalen" Variablen
 
//static int count; /* '= 0' hier auch wieder implizit */
static int count = 0;
 
int f(void)
{
    return ++count;
}
Achtung: Das implizierte initialisieren von Variablen handhaben Compiler verschieden. Immer explizit initiieren! — Samuel
Hab das mal geändert um eventuelle schwulitäten zu umschiffen. — Bouni

Struct als Funktionsparameter

struct myStruct {
  int a;
};
 
void Send_Data( struct myStruct* pointer )
{
  pointer -> a = 5;
}
 
int main()
{
  struct myStruct myVar;
  Send_Data( &myVar );
}
thinktank/mikrocontroller.txt · Zuletzt geändert: 18.06.2015 15:46 von samuel