Autor Tema: pic ccs no permite almacenar matriz booleana?  (Leído 2199 veces)

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

Desconectado carper

  • PIC10
  • *
  • Mensajes: 2
pic ccs no permite almacenar matriz booleana?
« en: 08 de Mayo de 2014, 22:47:11 »
hoola a todos!    pasa que quiero almacenar datos booleanos 0 o 1 en una matriz declarada como booleana pero al ingresar datos como ste:
             100001                                    100001
             010010                                    100001 
             001100      imprime esto          100001
             010010                                    100001
             100001                                    100001
lo que quiero saber si es posible ingresar 0os o 1os a una matriz booleana? tambien pensaba ingresarlos mediante codigo asm despues de aprende...rlo...

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: pic ccs no permite almacenar matriz booleana?
« Respuesta #1 en: 09 de Mayo de 2014, 10:40:08 »
la variable mínima es de 8 bits, si quieres hacer un arreglo de booleanos, podrías hacer un vector de enteros y modificar cada bit de cada entero, así tendrías el equivalente a una matriz de 8xn
"Nada es imposible, no si puedes imaginarlo"

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: pic ccs no permite almacenar matriz booleana?
« Respuesta #2 en: 09 de Mayo de 2014, 15:35:41 »
muestra el código donde ocurre el problema, yo he trabajado con arreglos de booleanos sin problemas
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado carper

  • PIC10
  • *
  • Mensajes: 2
Re: pic ccs no permite almacenar matriz booleana?
« Respuesta #3 en: 10 de Mayo de 2014, 16:39:02 »
me  paso por la cabeza lo de modificar enteros equivalenetes:
129 -> 10000001
66   -> 01000010 e ingresarlos. Me consumiria mucho mas tiempo de todos modos el trozo (codigo de prueba) es este:

#include <16F628A.h>...
//FUNCTIONS--------------------
void configPuerto(void);
void carga();
void bitToM(short boo);
void mostrar();

signed int ii,jj;
short mat[8][16], bit = 0;

void main(void){
   configPuerto();
   printf("start\r");
   printf("loading... \r");
   carga();
   mostrar();
}

void carga(){
   for(ii = 0; ii < 8; ii++){
      for(jj = 0; jj < 16; jj++){
         if(ii%3 == 0 && jj%2 == 0){
            bitToM(1);
         }else{
            bitToM(0);
         }
      }
   }
}

void bitToM(short boo){
    //funcion alternativa donde pudo haber posible error pero no!
    mat[ii][jj] = boo;
}

void mostrar(){
    for(ii = 0; ii < 8; ii++){
      for(jj = 0; jj < 16; jj++){
         printf("%d ",mat[ii][jj]);
      }
      printf("\r");
    }
}

void configPuerto(void){
   TRISA = 0x00;  
   TRISB = 0X00;  
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
}

mm... hasta ahora no se me ocurrio alguna forma de poder ingresar datos booleanos?
« Última modificación: 10 de Mayo de 2014, 17:53:28 por carper »

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: pic ccs no permite almacenar matriz booleana?
« Respuesta #4 en: 10 de Mayo de 2014, 18:11:38 »
pues el código compila sin errores, debe ser que hay algo con la lógica a la hora de guardar los bits
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek


 

anything