atmega8 adc Wert auf Seriell formatiert ausgeben
Besten Dank für den Anschub.
Damit andere auch was davon haben, hier das fertige Programm.
/* Das Programm liest die Linien-Fototransistoren des Asuro aus und
und gibt die Werte über die serielle Schnittstelle an z.B. Hyperterminal aus.
Es werden ca. 2 Wertepaare pro Sekunde ausgegeben (bei 2400bit/s) .
Anforderungen: WinAVR aStudio4b460.exe und asuro_v261.zip (die beigefuegten asuro.c und asuro.h musst du in das Verzeichnis zum Quellcode kopieren.
Viel Spass
*/
#include "asuro.h"
#include "stdlib.h"
int main(void)
{
Init();
while(1)
{
unsigned int data[2]; //Initialisiert zwei Int-werte hintereinander
LineData(data); //Übergibt der Funktion den "data"-array, die schreibt die beiden Werte rein
//data[0]=data[0]/10+100; // rechnen klappt auch
SerWrite("linker FotoSensor = ",21); //Text direkt senden
PrintInt(data[0]); //Zelleninhalt ausgeben
SerWrite("\r\n",1); //neue Zeile
SerWrite("rechter FotoSensor = ",21); //Text direkt senden
PrintInt(data[1]); //Zelleninhalt ausgeben
SerWrite("\r\n",1); //neue Zeile
SerWrite("\r\n",1); //neue Zeile
}
return 0;
}
atmega8 adc to seriell Hyperterminal
Hallo,
hast ja recht ; verbessert.
SerWrite("\r",1); spuckte vorher auch nur ein Zeichen aus.
Sieht jetzt immer noch gleich aus (siehe unten).
Rechnen mit Zellen war nur als Beispiel gedacht, brauche ich auch noch später.
Danke Bernd
/* Das Programm liest die Linien-Fototransistoren des Asuro aus und
und gibt die Werte über die serielle Schnittstelle an z.B. Hyperterminal aus.
Es werden ca. 2 Wertepaare pro Sekunde ausgegeben (bei 2400bit/s) .
Anforderungen: WinAVR aStudio4b460.exe und asuro_v261.zip (die beigefuegten asuro.c und asuro.h musst du in das Verzeichnis zum Quellcode kopieren.
Output in Hyperterminal innerhalb ca. einer Sekunde:
linker FotoSensor = 101
rechter FotoSensor = 102
linker FotoSensor = 1
rechter FotoSensor = 1
linker FotoSensor = 0
rechter FotoSensor = 0
Viel Spass Bernd
Code:
*/
#include "asuro.h"
int main(void)
{
unsigned int data[2]; //Initialisiert zwei Int-werte hintereinander
Init();
while(1)
{
LineData(data); //uebergibt der Funktion den "data"-array, die schreibt die beiden Werte rein
//data[0]=data[0]/10+100; // wer moechte, rechnen klappt auch prima!!!
SerWrite("linker FotoSensor = ",21); //Text direkt senden
PrintInt(data[0]); //Zelleninhalt ausgeben
SerWrite("\r",1); //neue Zeile
SerWrite("rechter FotoSensor = ",21); //Text direkt senden
PrintInt(data[1]); //Zelleninhalt ausgeben
SerWrite("\r",1); //neue Zeile
SerWrite("\r",1); //neue Zeile
}
return 0;
}