⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 http.c

📁 Pic Nic 16f877/18f452控制 rtl8019as 原代码
💻 C
📖 第 1 页 / 共 2 页
字号:
    case 'd':

         writeHttpHeader();
         printf(outdataMem, "<html><body>");
      	printf(outdataMem, "OK d");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
         printf(outdataMem, "</body></html> \f");

         e_code(A1_8, OFF8);

         lcd_pos_xy(1,2);
         printf(lcd_escreve, "Luz 1 Off     ");

    break;

    case 'e':

         writeHttpHeader();
         printf(outdataMem, "<html><body>");
      	printf(outdataMem, "OK e");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
         printf(outdataMem, "</body></html> \f");


      e_code(A1_8, B);

      lcd_pos_xy(1,2);
               printf(lcd_escreve, "Brilho +       ");



    break;

    case 'f':

         writeHttpHeader();
       printf(outdataMem, "<html><body>");
      	printf(outdataMem, "OK f");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
        printf(outdataMem, "</body></html> \f");

      e_code(A1_8, D);

      lcd_pos_xy(1,2);
      printf(lcd_escreve, "Brilho -       ");


      break;



    case 'a':

         writeHttpHeader();
         printf(outdataMem, "<html><body>");
      	printf(outdataMem, "OK a");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
         printf(outdataMem, "</body></html> \f");

         e_code(A1_8, OFF1);

         lcd_pos_xy(1,2);

         printf(lcd_escreve, "Tomada 1 Off    ");

      break;



    case 'b':

              e_code(A1_8, ON1);

         writeHttpHeader();
        printf(outdataMem, "<html><body>");
      	printf(outdataMem, "OK b");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
        printf(outdataMem, "</body></html> \f");


         lcd_pos_xy(1,2);

         lcd_escreve('T');          // atualiza segunda linha do LCD
         lcd_escreve('o');
         lcd_escreve('m');
         lcd_escreve('a');
         lcd_escreve('d');
         lcd_escreve('a');
         lcd_escreve(' ');
         lcd_escreve('1');
         lcd_escreve(' ');
         lcd_escreve('O');
         lcd_escreve('n');
         lcd_escreve(' ');
         lcd_escreve(' ');
         lcd_escreve(' ');

      break;


    case 'M':

         writeHttpHeader();
         printf(outdataMem, "<html><body>");
      	printf(outdataMem, "OK M");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
         printf(outdataMem, "</body></html> \f");

         //According to the second number on the request, determine if we're writing on line one or two of the 16x2 lcd display
         if (html_request_data[1] == '1')
           lcd_pos_xy(1,1);
         else
            if (html_request_data[1] == '2')
               lcd_pos_xy(1,2);

      i = 2;
      while (c = html_request_data[i++])
         lcd_escreve(c);          // atualiza segunda linha do LCD


      while (i++ < 19)
         lcd_escreve(' ');


      break;

    case 'G':




         writeHttpHeader();
         printf(outdataMem, "<html><body>");
      	printf(outdataMem, "OK G");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
         printf(outdataMem, "</body></html> \f");

        lcd_pos_xy(1,2);
//        printf(lcd_escreve, "Remote On %c%c  ", html_request_data[1], html_request_data[2] );
        printf(lcd_escreve, "Camera Cmd On %c%c  ", html_request_data[1], html_request_data[2] );
//      i = 1;
  //    while (c = html_request_data[i++])
    //     lcd_escreve(c);          // atualiza segunda linha do LCD


//'^OFF:a1$' + #13#10

         #use rs232(baud=19200,parity=N,xmit=PIN_B6,rcv=PIN_B7,bits=8,errors)
         printf( "^ON:%c%c$\r\n", html_request_data[1], html_request_data[2]   );
         #use rs232(baud=19200,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,errors)

      break;


    case 'F':

         writeHttpHeader();
         printf(outdataMem, "<html><body>");
      	printf(outdataMem, "OK F");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
         printf(outdataMem, "</body></html> \f");

        lcd_pos_xy(1,2);
        printf(lcd_escreve, "Camera Cmd Off %c%c  ", html_request_data[1], html_request_data[2] );

//      i = 1;
  //    while (c = html_request_data[i++])
    //     lcd_escreve(c);          // atualiza segunda linha do LCD


//'^OFF:a1$' + #13#10

         #use rs232(baud=19200,parity=N,xmit=PIN_B6,rcv=PIN_B7,bits=8,errors)
         printf( "^OFF:%c%c$\r\n", html_request_data[1], html_request_data[2]   );
         #use rs232(baud=19200,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,errors)

      break;

    case 't':

         writeHttpHeader();
         printf(outdataMem, "<html><body>");
      	printf(outdataMem, "OK t");

         //Mostra a temperatura se o recurso estiver habilidatado
         #ifdef ENABLE_TEMPERATURE
            printf(outdataMem, "<center>Temperature: %3.2f</center><br>", getTemp());
         #endif

      	printf(outdataMem, "                        ");
      	printf(outdataMem, "                        ");
         printf(outdataMem, "</body></html> \f");

        lcd_pos_xy(1,2);
        printf(lcd_escreve, "Got Temp: %3.2f          ", getTemp());

      break;




    default:

         //If none of the pages matched, we go to the default one
         writeHttpHeader();
         printf(outdataMem, "<html><body>");
      	printf(outdataMem, "Welcome to picnic 3.0");
      	printf(outdataMem, "<br>");
//         printf(outdataMem, "<center>This PIC has already been accessed %lu times</center><br>", accessCount);


  //    	printf(outdataMem, "                        ");
//      	printf(outdataMem, " <br><br><br>                       ");
      	printf(outdataMem, " Firmware Version: 12-09-2005<br>       ");
      	printf(outdataMem, " By rafael@3wt.com.br       ");
         printf(outdataMem, "</body></html> \f");


/*

    //     printf(outdataMem, "<h1><center>P I C N I C  3 . 0</center></h1>\r\n");
  //    	printf(outdataMem, "<p align=center><font size=4><b>PIC18F452 WEB SERVER</b></font></p>\r\n");
//         printf(outdataMem, "<p align=center>This PIC has already been accessed %lu times<br>\r\n", accessCount);

	 //If temperature sensor is on, show our temperature!


//	 printf(outdataMem, "<p align=center>Commands: WON osiris |WON soar");
  //       printf(outdataMem, "   | Turn on Light | ");

         //According to PIN_A0 state we show the user a different option in the main page!
//         if(input(PIN_A0))
  //          printf(outdataMem, "<a href=d>Turn off fan</a><br>");
   ///      else
    //        printf(outdataMem, "<a href=f>Turn fan on</a><br>");

//         printf(outdataMem, "<p><center>PIC Uptime: %02U:%02U:%02U", timeHours, timeMinutes, timeSeconds);
      //   printf(outdataMem, "<p><center>Client IP: %u.%u.%u.%u\r\n", IP_HEADER.SourceAddress.ip0, IP_HEADER.SourceAddress.ip1, IP_HEADER.SourceAddress.ip2, IP_HEADER.SourceAddress.ip3);
    //     printf(outdataMem, "<center><p>Thanks to Joel, Benito and Sapo!!!</p></center></body>\r\n");
  //       printf(outdataMem, "<p align=center><b>Rafael Aroca, Odemir Bruno</b></p></body>\r\n");
//         printf(outdataMem, "</html> \f"); //All pages should end with a "\f"

*/
                  break;

                  }


   chksum=20;
   dir=0;
   size=0;

   //Compute page checksum and size
   do {
      char0=readMemData(dir);
      if (char0=='\f') break;

      dir+=1;

      #ifdef DEBUG
         printf("%C",char0);
      #endif

      char1=readMemData(dir);
      dir+=1;

      if (char1=='\f')
         break;

      #ifdef DEBUG
         printf("%C",char1);
      #endif

      size+=2;
      calc_chksum(make16(char0,char1));
    } while(1);

   htmlChecksum=chksum;
   htmlSize=size;

   #ifdef DEBUG
      printf("Checksum = %LX\n\r", htmlChecksum);
      printf("Size = %LX\n\r", htmlSize);
   #endif

}

//Send the page stored in PIC's RAM memory to the NIC's TX Buffer
void sendHttpPage(void) {

   //Vars
   int16 pos;		//Position we're reading in memory
   int8 character;	//Character we're sending to the nic
   pos=0;

   //Write byte by byte from PIC's memory to NIC's memory
   do {
      character=readMemData(pos);

      if (character == '\f')
	break;

      pos+=1;
      outdata(character);

   } while(pos < htmlSize);

   delay_ms(500);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -