Autor Tema: combo de preguntas sencillas  (Leído 1804 veces)

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

Desconectado nicola

  • PIC10
  • *
  • Mensajes: 19
combo de preguntas sencillas
« en: 16 de Abril de 2010, 01:09:35 »
hola foreros,
tengo un par de preguntitas sencillas, que creo que para el que sepa van a ser una pavada...

1.
Supongamos que yo uso una interrupcion externa, R_B0, y el resto del puerto lo uso como salida.
La pregunta es, puedo usar output_b para poner a 0 o a 1 algunas patas del puerto B o tengo q modifcarlas con output_high/low?
Si pongo output_b(0) que pasa con B0?

2.
como tengo que declarar el set_tris para cuando uso I2C? supongamos q uso un 877A y uso la pata 18 para SCK y la 23 para dato, como quedarian los set_tris del puerto C y D?

3.
supongamos que uso un programa con interrupciones, y dentro del main uso un delay_ms muy largo (20s) las interrupciones se pueden disparar en el medio? si se disparan, la funcion delay_ms continua desde donde fue frenada?

4.
cuanto es el tiempo q tengo q esperar para que lea bien un conversor AD (de los internos del pic, claro). ese tiempo lo tengo q poner despues de que elegi el canal correspondiente o va despues de la lectura misma, o en ambos?


les agradezco una vez mas y espero q sepan disculpar el caracter interrogatorio del post. espero algun dia poder ayudarlos yo con algo para devolverles la gentileza.
si necesitan algo de musica ya saben  ;-)

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: combo de preguntas sencillas
« Respuesta #1 en: 16 de Abril de 2010, 01:27:52 »
Hola.

Bueno, todo lo que buscas esta en el foro, pero regado jeje.

1. Debes usar la opcion fixed_io y declarar las salidas. De esa manera, no se te afecta el TRIS para la entrada en RB0.
2. Para el CLK es salida siempre. Para el Dato debes cambiar la dirección cada vez que envías o recibes dato.
3. Si y Si.
4. Eso depende del modo de configuración del ADC. Normalmente se usan unos 6uS si usas el oscilador interno. Eso esta bien especificado en el datasheet del micro que vayas a usar.

Saludos
El papel lo aguanta todo

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: combo de preguntas sencillas
« Respuesta #2 en: 16 de Abril de 2010, 06:21:36 »
Hola!

2. Si usas el módulo el tris no tiene efecto, lo controla el modulo I2C.
3. Pero, si hay muchas interrupciones en el transcurso de la demora, no es para nada exacta.
4. Lee por aquí sobre el módulo ADC.


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

Desconectado culebrasx

  • PIC10
  • *
  • Mensajes: 39
Re: combo de preguntas sencillas
« Respuesta #3 en: 17 de Abril de 2010, 04:30:20 »
Si programas en CCS, hay una opción de configuración que inicia la conversión y salta a una interrupción donde puedes con otra instrucción simplemente leer el resultado de la conversión

#int_AD
void  AD_isr(void)
{
valor=read_adc(ADC_READ_ONLY);
}

la intrucción que inicia unicamente la conversión es :

read_adc(ADC_START_ONLY);

y tener habilitada la interrupción de fin de conversión AD
« Última modificación: 17 de Abril de 2010, 04:32:33 por culebrasx »

Desconectado nicola

  • PIC10
  • *
  • Mensajes: 19
Re: combo de preguntas sencillas
« Respuesta #4 en: 21 de Abril de 2010, 13:18:56 »
buenisimo muchachos! muchas gracias por las respuestas!!!
me aclararon muchas cosas q daba por sentadas y que nunca investigue a fondo.

eraserhead y pic, dos pasiones!


 

anything