Forum: Mikrocontroller und Digitale Elektronik Ausgang des AVR von Pollin über die Webpage schalten


von Matze .. (avr-rookie)


Lesenswert?

Hallo

Ich habe auf dem AVR von Pollin U. Radigs ETH_M32_EX_SOFT 
aufgespielt...funktioniert super.

Wie kann man jetzt einen Ausgang über die Webseite schalten?
Habe vieles probiert im Sourcecode der webpage.h aber nix geht.

Auszug webpage.h

"<input type=\"checkbox\" name=\"OUT\" value=\"A\"%PORTC0>"
"Port C Pin 0<br>\r\n"
...so gehts schon mal nicht und ist bestimmt total flasch ;)

Am parallelen Anschluß hängt das Relais-Addonboard von Pollin.

von Sascha W. (sascha-w)


Lesenswert?

Hallo,

was genau mit dem Parameter passiert steht in "httpd.c" und dort in
>> void httpd_header_check (unsigned char index)

für jedes Port/Pin ist dort eine entsprechende Auswertung drin


Sascha

von Matze .. (avr-rookie)


Lesenswert?

das müsste ja dann das hier sein:

switch (eth_buffer[a+1])
{
case ('A'):
PORT_tmp = PORT_tmp + 1;
break;

So müsste es ja jetzt als eingang definiert sein, nur wie mache ich 
einen ausgang draus?

von Sascha W. (sascha-w)


Lesenswert?

nein

die Webpage sendet für die entsprechende Checkbox OUT=A wenn sie gesetzt 
ist oder OUT= wenn sie nicht gesetzt ist. Wobei der Buchstabe die 
Port/Pin Zuordnung herstellt.
In der switch Verzweigung wird der Portwert aus den entsprechenden 
übermittelten Buchstaben zusammengesetzt.
>>
'A' -> PORT_tmp = PORT_tmp + 1 (==Bit 0)
'B' -> PORT_tmp = PORT_tmp + 2 (==Bit 1)
u.s.w.
hier kannst du den Buchstaben die entsprechenden Bits zuordnen, oder 
noch weiter Befehle hinzufügen.

weiter unten wird der Wert aus Port_tmp dem entsprechendem Port 
zugeordnet
>>
PORTA = PORT_tmp;

wenn's nun PortC sein soll, so änderst du das hier einfach ab
>>
PORTC = PORT_tmp;
und schon kannst du PC0 bis PC2 schalten.

Der Nachteil dieser Lösung ist natürlich, das immer alle im <form> 
enthaltenen Werte gesendet werden, und damit auch alle Portbits den 
Zustand aus der Website bekommen.

Sascha

von Matze .. (avr-rookie)


Lesenswert?

Vielen Dank für die schnelle Hilfe. :)

...ach da muss es geändert werden. Die Zuordung war mir schon klar, aber 
diese Zeile hab ich wohl überlesen.

Ja das es eine schlechte Lösung ist, ist mir klar ist ja nur zum testen.

Der Ausgang soll ja mal nicht nur über die Webseite geschaltet werden, 
sondern soll auch auf ein MagicPaket reagieren.

Aber dafür muss ich mich noch mit dem Aufbau des MP beschäftigen und wie 
ich es auswerten/nutzen kann.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.