Paso 5: Implementación de la biblioteca
Ahora queremos incluir la biblioteca que hemos creado para la conexión del microcontrolador para el cartucho de tinta.En la parte superior del archivo, agregue:
#include "epsnCart.h" / / el nombre del archivo de encabezado que creamos anteriormente
Puesto que este microcontrolador es pretender ser el anfitrión, que está controlando el SCK, señales SDA y RST. así que asegúrese de que están salidas, Agregar esto con los otros registros TRIS dentro de main():
epsnCartInit();
El siguiente pedazo de código es lo dentro de la while(1) {
Solicita una dirección a partir de 0 x 00 entonces incrementa en uno después de leer de 32 bytes:
void main() {}
char el addr = 0, i = 0;
cadena Char [40];
...
epsnCartInit(); Inicializado los pernos usados
while(1) {/ / bucle para siempre!
sprintf (cadena, "cartucho de lectura con addr: 0x%02X\r\n",addr);
putsUSART(string); imprime un mail como: cartucho de lectura con addr: 0 x 03
epsnCartStart(addr,0); Iniciar mediante el envío de la dirección en modo de lectura epsnCartStop(); trae la primera vuelta bajo putrsUSART("\r\n"); addr ++
i = 0;
while(i<32) {/ / guardar bucle hasta que ya no es menor que 32
sprintf(String,"0x%02X,",epsnCartRead());
putsUSART(string);
i ++;
}
if(addr>7) {}
addr = 0;
}
DelayMS(500);
}
}
Probablemente estás buscando en la línea "sprintf(string,"0x%02X,",epsnCartRead());" y va "Huh?"
sprintf es una cadena de formato de función, como printf excepto guarda la cadena con formato en la cadena de variables.
"0 x % 02 X," devolverá una cadena con un valor hexadecimal legible ej: 0xFE y epsnCartRead() devuelve un valor que se leyó desde el carro de tinta
Esto se estableció con un 3,3 v Fuente de alimentación porque los cartuchos de tinta funcionan en 3.3Volts
Esta había programado para mi microcontrolador, desconectar el cabezal de impresión de la impresora para evitar interferencias.
Entonces enchufé los 3 cartuchos que tenía y lo prendia.
Nota: En este punto, si funcionó este código por primera vez, podría esperar que tienes problemas. Como yo, me he ido sobre las decenas de código de tiempos, cambiando aquí y allá para hacer que funcione. Es normal que si no funciona la primera vez para usted. Es una gran experiencia de aprendizaje averiguar lo que salió mal! : P