PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 1010-Eingangssignal an uC. Wie verarbeiten?



krueml0r
01.03.2010, 21:48
Hallo,

ich beschäftige mich seit ein paar Wochen mit der Pogrammierung eines µCs in C mit dem Atmel Studio.

Ich möchte gerne je nach Eingangssignal den Atmega8 etwas tun lassen. Bei dem Eingangssignal 1010 soll er was machen, bei 10 nicht.

Wie mache ich das am einfachsten?

Ceos
02.03.2010, 14:22
deien definition des eingangssignal lässt offen, ob du es seriell eingibst, es an einen port anlegst oder eine der schnittstellen benutzt

021aet04
02.03.2010, 14:25
Wie willst du das machen? Sollen die Daten Seriell oder parallel vorhanden sein? Einfacher ist es parallel, du brauchst 4 Eingänge (am Besten von einem Port). Wenn du es aber seriell machen willst wie z.B. bei I2C oder SPI, dann brauchst du noch irgendein Signal. Entweder du machst es mit einer Taktleitung (wie bei I2C, SPI) oder mit dem Timer (Interrupt).

MfG Hannes

krueml0r
02.03.2010, 15:17
Hallo,

also die Daten liegen seriell hier an, die muss ich dann irgendwie unterscheiden können.

Gruß

021aet04
02.03.2010, 16:14
Dann hast du die 2 Möglichkeiten wie ich oben geschrieben habe.

1. Timerinterrupt
2. Takt- bzw "Reset"- Leitung

MfG Hannes

krueml0r
02.03.2010, 16:50
Hi,

aber wie muss ich die Erkennung programmieren?
Wie funktioniert so eine Algorithmus, der mein eingangssignal detektiert?

Also das Problem ist, das ich C-mäßig nicht weiss wie ich das programmieren soll.

Gruß

021aet04
02.03.2010, 17:25
Hier ist ein Beispielcode. Das was du suchst ist ganz unten "Byte einlesen". Es ist ein Beispielcode zu Software I2C. Bei I2C hast du eine Taktleitung (SCL) und eine Datenleitung (SDA). Wenn du mehr wissen willst, was z.B. ein ACK bzw NACK bedeutet solltest du Grundlagen über I2C lesen.
http://www.umnicom.de/Elektronik/Schaltungssammlung/I2C-Bus/I2CBus.html

MfG Hannes