Homepage

  • Projekte
  • Shop
  • Forum
Erweiterte Suche
  • Schnellzugriff
    • Unbeantwortete Themen
    • Aktive Themen
    • Suche
  • FAQ
  • Anmelden
  • Registrieren
  • Foren-Übersicht
  • Suche

PORTD übers Webbpanel schaltbar machen

Informationen, Fehlermeldungen, Verbesserungen zu Ulis Basisversion des AVR-Webservers.
Antworten
  • Druckansicht
Erweiterte Suche
2 Beiträge • Seite 1 von 1
daviid
Beiträge: 5
Registriert: 25.07.2010, 08:50:51

PORTD übers Webbpanel schaltbar machen

  • Zitieren

Beitrag von daviid » 27.07.2010, 20:19:29

Hallo, ich hab nochmal ne Frage, und zwar hab ich mir vorhin mein eigenes "Addon-Board" zusammengelötet, dass über den "EXT" Wannenstecker angeschlossen wird.

An PD2 hängt ein Optokoppler, das funzt auch wunderbar als Input.
An PD3 soll später vlt auchnoch ein Optokoppler dran, aber das is unwichtig ersmal.

Und an PD7 will ich über einen Transistor en Relais schalten, die Schaltung funzt auch einwandrei, nur ich bekomm PD7 nich auf high geschalten übers Webpanel.


Hab in der webpage.h bei den anderen "Ausgängen" folgende Zeile hinzugefügt:

Code: Alles auswählen

"<input name=\"OUT\" type=\"checkbox\" value=\"D\" %PORTD7>"
	"Port D Pin 7<br>"
Nur wie ich in der httpd.c festgestellt hab is PortD garnich implementiert, und ich weis auchnich ob der als Ausgang geschalten ist, hat jemand ne Idee wie ich das ganze übers Webpanel geschalten bekomm.

Aus der Auswertung in der httpd.c werd ich einfach nich schlau, hat da vlt jemand ne Lösung für mich?


Gruß
David
Nach oben

daviid
Beiträge: 5
Registriert: 25.07.2010, 08:50:51

Re: PORTD übers Webbpanel schaltbar machen

  • Zitieren

Beitrag von daviid » 28.07.2010, 00:06:58

So habs nun selber gelöst bekommen:

httpd.c:

Code: Alles auswählen

	//Einzelne Postpacket (z.B. bei firefox)
	if(http_entry[index].http_auth && http_entry[index].post == 1)
	{
		for(a = TCP_DATA_START_VAR;a<(TCP_DATA_END_VAR);a++)
		{	
			//Schaltanweisung finden!
			if (eth_buffer[a] != *http_entry[index].post_ptr++)
			{
				http_entry[index].post_ptr = post_in;
			}
			if(*http_entry[index].post_ptr == 0) 
			{
				switch (eth_buffer[a+1])
				  {
				    case ('A'):
					  PORT_tmp = PORT_tmp + 16;
				      break;
				
				    case ('B'):
					  PORT_tmp = PORT_tmp + 32;
				      break;
				
				    case ('C'):
					  PORT_tmp = PORT_tmp + 64;
				      break;
					
					case ('D'):
					  PORT_tmp = PORT_tmp + 128;
				      break;
					  
                    #if USE_WOL
                    case 'W':
                        wol_enable = 1;
						break;
                    #endif //USE_WOL
				  }
				http_entry[index].post_ptr = post_in;
				//Schaltanweisung wurde gefunden
			}
		
			//Submit schließt die suche ab!
			if (eth_buffer[a] != *http_entry[index].post_ready_ptr++)
			{
				http_entry[index].post_ready_ptr = post_ready;
			}
			if(*http_entry[index].post_ready_ptr == 0) 
			{
				http_entry[index].post = 0;
				PORTD = PORT_tmp;		
                PORT_tmp = 0;
				break;
				//Submit gefunden
			}
		}
	}	

Allerdings glaub ich dass das nur funktioniert wenn ich mich auf einen Port beschränke, dafür muss ich mir noch was einfallen lassen oder hat das schonmal jemand gelöst?
Nach oben

Antworten
  • Druckansicht

2 Beiträge • Seite 1 von 1

Zurück zu „Software: Ulis Basisversion“



  • Foren-Übersicht
  • Alle Zeiten sind UTC+02:00
  • Alle Cookies löschen

Powered by phpBB® Forum Software © phpBB Limited

Deutsche Übersetzung durch phpBB.de

Datenschutz | Nutzungsbedingungen

 

 

sitemap  |    |  datenschutz   |  impressum