Hallo,
ich habe folgendes Problem, ich wollte die 3 Ports von PortA und alle Ports von PortB schalten, dazu habe ich in Config:
Code: Alles auswählen
#define OUTA 0x07
#define OUTC 0xff
#define OUTD 0x00
gesetzt.
In der Webpage:
Code: Alles auswählen
"<input type=\"checkbox\" name=\"OUT\" value=\"I\" %PORTB0>\r\n"
"<span class=\"Stil2\">Port B Pin 0</span></p>\r\n"
"<div align=\"left\">\r\n"
....... von I ( PIN0)bis P (PIN7) deklariert ......
"<input type=\"checkbox\" name=\"OUT\" value=\"P\" %PORTB7>\r\n"
"<span class=\"Stil2\">Port B Pin 7</span></p>\r\n"
"<div align=\"left\">\r\n"
In httpd.c
Code: Alles auswählen
unsigned char PORT_tmp = 0;
unsigned char PORTC_tmp = 0; PORTC_tmp deklariert
und dann den Code erweitert:
if(*http_entry[index].post_ptr == 0)
{
switch (eth_buffer[a+1])
{
case ('A'):
PORT_tmp = PORT_tmp + 1;
break;
case ('B'):
PORT_tmp = PORT_tmp + 2;
break;
case ('C'):
PORT_tmp = PORT_tmp + 4;
break;
//ab hier Port C!!
case ('I'):
PORTC_tmp = PORTC_tmp + 1;
break;
case ('J'):
PORTC_tmp = PORTC_tmp + 2;
break;
.....halt I bis P......
case ('O'):
PORTC_tmp = PORTC_tmp + 64;
break;
case ('P'):
PORTC_tmp = PORTC_tmp + 128;
break;
}
http_entry[index].post_ptr = post_in;
//Schaltanweisung wurde gefunden
und weiter unten:
if(*http_entry[index].post_ready_ptr == 0)
{
http_entry[index].post = 0;
PORTC = PORTC_tmp;
PORTC_tmp = 0;
break;
PORTA = PORT_tmp;
PORT_tmp = 0;
break;
//Submit gefunden
}
So weit so gut, alle Ports werden auch geschaltet,
ABER für Port C bleiben die Häkchen nicht stehen, sie werden immer auf Default (siehe Bild) gesetzt.
Diese Häkchen sind auch gesetzt, wenn ich die Page das erste mal aufrufe????
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.