Autor Tema: Como dividir puertos?  (Leído 1142 veces)

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

Desconectado Aldodc

  • PIC10
  • *
  • Mensajes: 1
Como dividir puertos?
« en: 09 de Septiembre de 2015, 22:21:37 »
Hola estoy comenzandoa programar PIC pero lo ue tengo que sumar dos numeros de 4 bits pero deben estar separados del mismo puerto, es decir, tengo que usar el mismo puerto pero ingresar dos numeros diferentes en los primeros 4 bits un numero y en los otro 4 bits otro numero. Como los separo? estoy programando en C y usando en compilador cx8. gracias de antemano.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Como dividir puertos?
« Respuesta #1 en: 09 de Septiembre de 2015, 23:02:51 »
Código: C
  1. short int valor1,valor2
  2.  
  3. valor1 = PORTx;
  4. valor2 = valor1 & 0xF; // es lo mismo que PORTx  AND 0000 1111, es decir dejo los 4 bits de menos peso
  5. valor1 = ((valor1 & 0xF0)>>4); // es lo mismo que ( PORTx AND 1111 0000) dejo los 4 bits de mayor peso y luego roto 4 veces a la derecha, asi quedan en la parte baja

Esto es para leer 1 ves el puerto, ahora si te aseguras que el valor del puerto no va a cambiar rapidamente entonces con esto basta:

Código: C
  1. valor1 = ((PORTx & 0xF0)>>4);
  2. valor2 = PORTx & 0x0F;

donde PORTx puede ser PORTB, PORTA, etc
« Última modificación: 10 de Septiembre de 2015, 04:28:47 por KILLERJC »


 

anything