fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Comunicacion por el puerto serie al 16f877 (skybot)

9 Respuestas
2 Usuarios
0 Reactions
4,089 Visitas
goofyahead
Respuestas: 35
Topic starter
(@goofyahead)
Eminent Member
Registrado: hace 18 años

Hola, ya consegui el cable, hacer que funcione de nuevo el skybot y tal.
Ahora he cargado los programas como el de sci-eco ya preparado para el skybot, para comunicarse con el por el hyperterminal.
Bien, pues consigo que muestre cosas por hyperterminal, pero no que lea los caracteres que le mando, por ejemplo el estado de un sensor, lo muestra, mensajes, cadenas, lo que sea, pero el micro no recibe los caracteres...

el codigo es:

void main(void)
{
unsigned char c;

//-- Configurar el puerto B
//-- Todos los pines de entrada, salvo RB1 de salida, que es
//-- donde esta el led
TRISB=0xFD;

//-- Configurar las comunicaciones serie
sci_conf();

//-- Bucle infinito
for (;;) {

sci_cad("entra en el forn");
//-- Esperar a que llegue dato del PC
c=sci_read();

//-- Cambiar el led de estado
PORTB^=0x02;
sci_cad("Devuelve el caracter leidon");
//-- ...y enviar de vuelta el caracter por el puerto serie
sci_write(c);
}

}

Entra en el bucle porque muestra ese mensaje que e puesto ahi para eso pero no consigo que lea el caracter o pasa algo cuando lo lee, el caso es que el hyperterminal se cuelga, no devuleve nada, ni pasa de ahi.

Si alguien sabe como puede ayudarme... gracias.

de paso otra pregunta estoy usando para compilar el programmer notepad con el sddc y todo el rollo, para que sirve el makefile?? que parece vital, y como hago mi propio makefile, porque solo puedo modificar codigo ya preparado con un makefile que me bajo del tutorial del skybot, pero al hacer un proyecto de 0 aunque ponga en la misma carpeta los .h me dice que make.exe no tiene nada que hacer y que falta el makefile, muchas gracias por todo por adelantado, me voy a clase...

Un saludo! GoofyaheaD

Responder
8 respuestas
gonzao
Respuestas: 218
(@gonzao)
Estimable Member
Registrado: hace 19 años

Hola, abre el makefile con un editor de texto y ya podrás modificarlo. Pon dentro el nombre que quieres compilar y quita el resto.

Un saludo
gONzAO

Responder
gonzao
Respuestas: 218
(@gonzao)
Estimable Member
Registrado: hace 19 años

En cuanto al código, prueba usando la función:
sci_cad2(unsigned char *cad)

Por cierto, lo del 'n' no te va a funcionar, gracioso quedará pero poco más.
Para que sea un carácter especial debe ser un único carácter y en la cadena donde tú lo pones se considera como una '' y una 'n' por lo que en pantalla debería salir:
"entra en el forn", todo esto (ya que envía byte a byte)
Para conseguir un salto de linea, si mal no recuerdo, debemos mandar el caracter salto de línea y retorno de carro, no importa el orden.
en pseudocódigo sería:
enviar(0x0A) -> LF
enviar(0x0D) -> CR

Bueno haz pruebas y ya nos contarás los progresos.
Seguro que mñn por la tarde lo tienes funcionando 100%

Un saludo
gONzAO

Responder
goofyahead
Respuestas: 35
Topic starter
(@goofyahead)
Eminent Member
Registrado: hace 18 años

Holaaa, muchas gracias por lo del makefile es que soy un poco lento, jeje, bueno, respecto al codigo a lo mejor no me he expresado bien, siempre consigo que el pic me devuelva frases o caracteres en eso no hay ningun problema, el problema radica en que no consigo que el pic reciba caracteres, y como no tengo debugger no se si es que no le llega o que no lo devuelve, tambien tengo un codigo en el que al introducir un caracter el led cambia de estado, como ese pero sin devolver ni escribir cadenas, pero esto nunca ocurre.

Espero haberme expresado con mas claridad ahora, muchas gracias de antemano por todo, Goofyahead

Responder
goofyahead
Respuestas: 35
Topic starter
(@goofyahead)
Eminent Member
Registrado: hace 18 años

ah y por cierto si me hace el retorno de carro, curioso, no? no muestra el barra n ni nada, pero por si acaso era eso lo e quitado pero falla igual no me lee los caracteres que introduzco por teclado el pic... 😥

Responder
Página 1 / 2
Compartir: