Autor Tema: OR en argumentos funciones setup.  (Leído 1067 veces)

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

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
OR en argumentos funciones setup.
« en: 28 de Agosto de 2017, 08:47:06 »
Una pregunta. ¿ Las funciones setup_xxx_xxx();  en donde hay que usar varios parámetros,  ¿ hacen la función OR por ellas mismas o hay que hacerlo en los atributos?.

  Me explico:

  ¿ Es lo mismo hacer? :

Código: C
  1. setup_timer_3 (T3_CCP1_TO_2 | T3_DIV_BY_2 | T3_INTERNAL);

 Que hacerlo asi?:
Código: C
  1. setup_timer_3 (T3_CCP1_TO_2);
  2. setup_timer_3 (T3_DIV_BY_2);
  3. setup_timer_3 (T3_INTERNAL);

De la primera forma me funciona, de la segunda no del todo. Entiendo que la ultima opción sobreescribe a las otras dos.


Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:OR en argumentos funciones setup.
« Respuesta #1 en: 28 de Agosto de 2017, 14:06:56 »
Creo que vos te respondiste :P

No creo que esto:

Código: C
  1. setup_timer_3 (T3_CCP1_TO_2);
  2. setup_timer_3 (T3_DIV_BY_2);
  3. setup_timer_3 (T3_INTERNAL);

realize ORs, por que si pensas configurarlo de otra forma, no te queda otra que tener alguna funcion para ponerlo al estado de reset. Si por ejemplo un registro era 0000 0000, vos pusiste 0000 0001 , como harias para volverlo a su estado de reset ( todos 0 ) con una OR ?, es imposible. Deberias proveer otra funcion para resetearlo, visto que no hay funcion para esto, lo logico es pensar simplemente inserta todo eso en el registro que debe sin uso de ORs. Y por lo tanto esto es lo valido:

Código: C
  1. setup_timer_3 (T3_CCP1_TO_2 | T3_DIV_BY_2 | T3_INTERNAL);

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
Re:OR en argumentos funciones setup.
« Respuesta #2 en: 28 de Agosto de 2017, 15:19:20 »
Gracias Killer. Me lo suponia y me lo aclara el clarisimo ejemplo de poner a cero mediando OR's.  Imposible.. 

  Gracias..


 

anything