fbpx

Expresate

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

Dudas de uno que vi...
 
Avisos
Vaciar todo

Dudas de uno que viene de programar un Skybot

7 Respuestas
4 Usuarios
0 Reactions
2,751 Visitas
tinrik
Respuestas: 42
Topic starter
(@tinrik)
Eminent Member
Registrado: hace 18 años

Hola a todos. Vereis, este año en la Campus Party he aprendido a programar un poquito, con el robot Skybot. Use el Programmers Notepad, y tambien usaba varias librerias que me habian creado los monitores, para hacernos la tarea mas facil.
Pero ahora que voy a programar por mi cuenta, veo que en vuestros ejemplos de programas usais hay varias cosas distintas. Por ejemplo, en mis programas para el Skybot no poniamos al principio nada de Fuses, ni WatchDog, ni lo que se suele poner al principio (mire en las librerias, pero tampoco aparecian, unicamente "#include <pic16f876a>.
Ademas, en la configuracion de puertos, creo que usabamos #define TRISB 0x..., en vez de set_trisb_0x...

¿A que se deben estas diferencias?? ¿Puede ser por usar un distinto compilador?? (creo que al compilar se usaba el SDCC)

Un saludo y gracias.

Responder
6 respuestas
technik
Respuestas: 287
(@technik)
Reputable Member
Registrado: hace 18 años

Creo que tales diferencias se deben simplemente a la complejidad del programa. No he estado este año en la campus, pero supongo que el programa que os enseñaron para skybot no sera muy complejo.
Por este motivo no se usan #FUSES, que solo son utiles cuando quieres un control mas exacto sobre el comportamiento del pic, y tampoco se usa el WDT (watch dog timer). En muchos programas es suficiente con incluir la libreria de tu PIC y definir algunos puntos clave.
Con respecto al "set_tris_b(0x0..." o "#define TrisB 0x0..." la unica diferencia es que lo primero es una instrucion predefinida que hace de forma automatica lo que manualmente. Ambos metodos se pueden usar y son perfectamente validos, pero personalmente prefiero set_tris por que asi no tengo que preocuparme de " 🙄 donde estaba el TRISB en este pic ? "

espero haberte aclarado algo

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

Aaahh vale que era por temas se sencillez. Vale pues ahora ya se que esta bien de las dos formas, me pondre a aprender de la que usais vosotros, que parece mas "profesional" xDD.

Un saludo y gracias!!

Responder
technik
Respuestas: 287
(@technik)
Reputable Member
Registrado: hace 18 años

Jejeje, aparte de quedarm mas "profesional" lo que si te aportan esos comandos es un control preciso sobre lo que ocurre en tu PIC. Por este motivo es interesante que si vas a seguir programando aprendas a usarlos aunque sea paulatinamente.

un saludo, CJ

Responder
garrocha
Respuestas: 1110
(@garrocha)
Ardero
Registrado: hace 19 años

Hombre, el set_tris_b no es una instruccion de C sino una "macro" de CCS yo particualrmente prefiero usar TRISB = 0x... que es asignar un valor a una variable cuya direccion de memoria es la del TRISB (normalmente en casi todos los "includes" viene ya definida esa posicion, y no tienes que hacer nada adicional para usar lo de TRISX=YY)

Responder
Página 1 / 2
Compartir: