Autor Tema: Principiante con ganas de avanzar  (Leído 1635 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Cortijero

  • PIC12
  • **
  • Mensajes: 57
Principiante con ganas de avanzar
« en: 04 de Marzo de 2010, 14:02:47 »
Hola! es la primera vez que posteo. Estoy iniciandome en el mundo de los pics, y ya que he aprendido a manejar el programador con algunos programas de ejemplo, estoy haciendo mis primeros programas. Estoy usando el css y el mplab, y me surgen algunas dudas. (decir que en su dia aprendi en la universidad a programar en c++, asi que no parto de cero :)) He decidido empezar con un pic16f84a, ya que tengo alguno que otro...

La primera duda que me surge es sobre los fuses. He visto en la libreria del pic los distintos fuses que hay: // Fuses: LP,XT,HS,RC,NOWDT,WDT,NOPUT,PUT,PROTECT,NOPROTECT
Pero no se (aunque alguno se intuye) para que sirven en concreto.
Tambien agradeceria que me explicaseis para que sirve la instruccion fat_io() que aparece en tantos ejemplos que he visto. En los comentarios pone que es para optimizar las entradas salidas del puerto en concreto, pero me quedo igual  :?

Bueno, gracias de antemano por la ayuda, y espero no daros mucho la tabarra

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Principiante con ganas de avanzar
« Respuesta #1 en: 04 de Marzo de 2010, 14:24:30 »
El tema de los fuses, directamente hay que leer el datasheet. Igualmente aquí se explica para que sirve cada uno.

Luego en este enlace hay un buen tutorial de CCS para que vayas evacuando algunas dudas.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Principiante con ganas de avanzar
« Respuesta #2 en: 04 de Marzo de 2010, 14:43:24 »
Bienvenido Cortijero.

El fast_io permite indicar al compilador que serás tú, mediante tu programa, el que indique el sentido de los pines in o out usando el set_tris_x. Por defecto CCS está en modo "standard_io" y es él quien se encarga de establecer el sentido de los pines.

Desconectado Cortijero

  • PIC12
  • **
  • Mensajes: 57
Re: Principiante con ganas de avanzar
« Respuesta #3 en: 04 de Marzo de 2010, 18:13:53 »
Oh, muchas gracias por la ayuda! gran tutorial!

Desconectado Cortijero

  • PIC12
  • **
  • Mensajes: 57
Re: Principiante con ganas de avanzar
« Respuesta #4 en: 06 de Marzo de 2010, 10:06:11 »
Bueno, ese tutorial de css, ya lo tengo mas o menos controlado. Ahora me gustaria empezar con las interrupciones, que aun no tengo muy claro lo que son... Pero no consigo encontrar mucha informacion en c, todo lo que he encontrado hasta ahora es para ASM... Si sabeis de algun enlace interesante para interrupciones en c os lo agradeceria mucho!
Saludos y gracias!

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Principiante con ganas de avanzar
« Respuesta #5 en: 06 de Marzo de 2010, 12:14:32 »
Leer lo que encuentras sobre interrupciones en assembler te va a ayudar a entender como funcionan, porque en C es una función más que no tiene parámetros de estrada, no retorna valores y solo puede ser llamada por la interrupción. CCS tiene comandos que son para habilitar/deshabilitar una interrupción dada:

Código: C
  1. enable_interrupts(INT_TIMER1);
  2. disable_interrupts(INT_TIMER1);
Borrar su bit indicador de interrupción:

Código: C
  1. clear_interrupt(INT_TIMER1);

Habilitar interrupciones globales:

Código: C
  1. enable_interrupts(GLOBAL);

Y luego para indicarle al compilador que la siguiente función es para el tratamiento de la función solo hay que hacer:
Código: C
  1. #INT_TIMER1
  2. void isr_Timer(void){
  3.  
  4.    // CODIGO DE TRATAMIENTO DE INTERRUPCION.-
  5. }

Sencillo  ;-)

Saludos!
No contesto mensajes privados, las consultas en el foro


 

anything