Paso 5: Software
El enlace de software se enumera a continuación. Mientras que se destina a la 16F688, fácilmente se adaptó a otras versiones de la foto. Sólo asegúrese de que usted elija uno que tiene la capacidad de puerto serie asincrónico. Usted también tendrá que cambiar la línea que identifica la versión de PIC (lista =) y el archivo de inclusión, pero los cambios intuitivas. La línea __CONFIG también necesite ajustar sólo porque uno o dos de las etiquetas utilizadas se deletrean diferentemente en algunos de los archivos de inclusión.
El software básicamente imita los comandos que manualmente enviamos desde el programa terminal. En los puntos adecuados espera las respuestas esperadas de los ESP8266 antes de emitir otros comandos. Los comandos enviados y las respuestas que se espera deba cambiar si se actualiza el conjunto en el comando en versiones más recientes de la ESP8266. Al enviar las secuencias de comandos y el mensaje dummy que el PIC utiliza direccionamiento indirecto de localidades de la RAM en los bancos 0 y 1. El código para inicializar las ubicaciones de memoria se encuentra al final de la lista. Por desgracia, estas fotos antiguas están limitadas en sus capacidades de direccionamiento indirectos por lo que no podemos incrustar sólo las cadenas en memoria Flash como lo hicimos para la pantalla de gráficos en el episodio 13. Que el proyecto utiliza una foto más reciente de 16F1847 y sería fácil trasladar este programa para PIC nueva si así lo quieren.
Para utilizar un campo común rutina para enviar las cadenas podríamos han pasado la longitud de una cuerda a la rutina o simplemente añadir un carácter de "final de la cadena" a cada cuerda. La segunda opción es lo que elegí y para simplificarlo aún más utilicé el valor numérico 0. Permite que el código cargar el siguiente valor y luego verifique si la carga causa la bandera de cero en el estado de registro. Las longitudes de cadena definidas incluyen espacio para un retorno de carro y avance de una línea para cada mando y para el identificador de fin de cadena para todas las salidas. Tenga en cuenta que los datos enviados después de enviar el comando CIPSEND no necesitan un retorno de carro o avance de línea.
Vale la pena tener en cuenta que la ESP8266 devuelve un montón de datos que realmente no nos importa. Por eso, tener el código de recepción serial como un manejador de interrupción no sería una buena manera de ir. Sin embargo, el problema es que sólo la interrogación respuestas hará que el búfer del receptor se desborde. Es por el controlador de "Desbordamiento" en el código es muy importante. Permite el PIC simplemente aclarar el desbordamiento a su antojo y luego esperar las respuestas esperadas. En los listados anteriores donde no esperaba desbordamientos utilicé el método descrito en la hoja de datos de deshabilitar/habilitar el puerto serie. Eso no funciona correctamente en este programa y sospecho que tiene algo que ver con el hecho de que el transmisor no puede haber sido terminado antes de que se manejó el desbordamiento. Por eso cambié al segundo método de limpiar la bandera de desbordamiento en la que sólo el receptor serial es deshabilitado/habilitado.
Arriba se muestra la pantalla de los mensajes PIC para el programa de terminal y a la Página Web. Nota que envía el mensaje "Hola mundo" es en dos líneas. Eso es porque el mensaje tiene un HTML comando incluido (< br >) que hace una nueva línea. Es importante tener en cuenta porque la mayoría de los comandos HTML pueden ser incluido en todo lo que usted envía a la Página Web. Mientras que el mensaje en este ejemplo es estático, se podría hacer dinámicas para satisfacer sus necesidades. Simplemente hacer una llamada a su propio mensaje creación de rutina de la rutina de "Send_Data". Como se mencionó en la sección de apertura se podía leer un sensor de temperatura, convertir el valor en ASCII y luego salida los resultados cuando el ESP8266 recibe una página web conectan a petición. Para aplicaciones como una actualización de la página web hará que el PIC enviar datos de nuevo para que no cierre y vuelva a abrir la Página Web.
Bueno, eso es para el episodio 18 de la "Diversión con foto montaje". Estad atentos para más episodios.