Siehe meine Anmerkungen und Fragen unten
Hallo Liebe/-r Experte/-in,
Ich wollte mir quasi eine eigene Alarmanlage bauen,
mit einem AVR Microcontroller.
Ich hatte mir das so gedacht, dass es einen Hauptschalter
gibt, und wenn der aus ist, ist die Alarmanlage halt aus, das
wollte ich über den 1.Pin machen,
dann sollte der 2.Pin das Ende einer Lichtschranke sein,
>> Was ist das „Ende einer Lichtschranke“ ???
und wenn da der Strom halt niedrig ist, soll der Pin3 und 4
auf High gesetzt werden (Ausgänge)
jetzt habe ich halt nur die Frage, ob das So geht, wie ich das
geschrieben habe, bevor ich mir noch meine Microcontroller
kaputt mache,
hier das Programm:
#include
#include
int main (void) {
>> Bei Eingängen muss das Bit auf 0 und bei Ausgängen auf 1 gesetzt werden.
//Eingänge
DDRA |= (1> Also : DDRA &= ~((1> Und: DDRA |= (1> Das geht so nicht! Hier wird einem Byte ein String zugewiesen.
Der Compiler wirf folgende Meldung:
„warning: assignment makes integer from pointer without a cast“
while(1) {
//Überprüfen, ob auf PINA Strom ist, wenn Strom drauf ist,
PIN5 auf 0 setzten, ausschalten
if ( PINA & (1> Das folgende wird gar nicht übersetzt:
>> Du kannst kein byte mit einem String ver-UNDen
if(Zp0 & „aus“) {
PORTA |= (1> Das folgende wird gar nicht übersetzt:
>> Du kannst kein byte mit einem String ver-UNDen
if(Zp0 & „ein“) {
//Ausgänge auf 0 (aus) setzten
PORTA &= ~( (1> Vielleicht erstmal hier in den AVR einarbeiten. Dann wäre ein Schaltbild hilfreich:
>> http://www.mikrocontroller.net/articles/AVR-GCC-Tuto…
Danke Im Voraus für die Hilfreichen Fragen
LG Lucas
Gruß,
Michael