STM85-Discovery
von Michael Uhlmann

Ein Mikrocontroller-Entwicklungssystem mit Programmer und USB-Anschluss für 7 - 8 Euro. Klingt fast unglaublich. Es ist das STM8S-Discovery von STMicroelectronics. Ein STM8S 8-Bit Mikroprozessor mit 32k Flash, 2k RAM und 1k EEPROM, sowie der ST-Link Debugger mit einem 32-Bit Prozessor. Dazu kostenlos zum downloaden die STM-Tools und ein Compiler von Cosmic.
Ganzen Artikel lesen...
Außerdem Programme und eine umfangreiche Firmwarelibrary mit Mustern für eigene Entwicklungen: Die Programmierung erfolgt in C. Für Einsteiger gibt es hier ein ausführliches Tutorial. Damit ist es mir als Anfänger in Sachen Mikrocontroller gelungen, die Software zu installieren und anzuwenden. Als Besonderheit hat das Board eine kapazitiv wirkende Sensortaste und eine LED. Eine Demosoftware ist bereits aufgespielt und nach Anschluss eines normalen USB-Kabels blinkt die LED, welche in der Frequenz mittels der Sensortaste umgeschaltet werden kann. Unten links im Bild die Sensortaste (Die angesteckten Kabel sind für diese Anwendung nicht nötig!)

Auf der Suche nach weiteren Anwendungen im Internet bin auf diesen Blog gestoßen. Ich habe das Programm an mein 4 x 20 Display angepasst. (Für die Kontrastspannung reicht ein Widerstand 2,2 k von Pin 3 nach Masse.)
Weitere interessante Anwendungen gibt es auch mit einem GLCD. Da auf der Embedded World 2010 in Nürnberg 5000 dieser Kits verschenkt worden sind und auch der Verkaufspreis sehr günstig ist, denke ich, dass sich hierfür noch viele Freunde finden werden und interessante Anwendungen entstehen. Erhältlich ist das Kit u.a. bei Watterott, Farnell, Mouser und Futureelectronics.
Hier ist mal ein kleines Programm aus dem Tutorial. Die Ports werden hier als GPIO bezeichnet.
//Blinken der Onboard-LED#include "stm8s.h"
int speed = 30000;
#define LED_PORT GPIOD
#define LED1 GPIO_PIN_0
int main(void) {
GPIO_DeInit(LED_PORT); // Reset ("de-initialise") GPIO port D
GPIO_Init(LED_PORT, LED1, GPIO_MODE_OUT_PP_LOW_FAST);
// Initialise pin 0 of port D by setting it as:
// - an output pin,
// - using a push-pull driver,
// - at a low logic level (0V), and
// - 10MHz.
for(;;) {
int d; //delay for blinking
for (d = 0; d < speed; ++d) {
nop();
}
GPIO_WriteReverse(LED_PORT, LED1); // Invert the LED pin's state
}
Siehe auch: Lernpaket Experimente mit USB

Lernen Sie die ganze Vielfalt vom Franzis Buch- und Softwareverlag kennen