Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - LiLou

#1
Hola, antes que nada, a lo mejor es una obviedad para muchos lo que pido, pero es la 1a vez que programo para PICs (de echo, no soy ni ingeniero electrónico, sino informático).

Compilador: CCS
PIC18F4550

Bien, pues tengo el bootloader proporcionado por CCS (ex_usb_bootloader.c) corriendo y funcionando bien en el PIC. Lo que le quiero añadir ahora es que borre la EEPROM cada vez que se programa. El escenario es el siguiente: hay cargado un programa en el pic, tenemos una version nueva/modificada del mismo programa, y la queremos cargar de forma que sus variables en la EEPROM se reseteen a su valor inicial, y no cargar el valor que hubo la última vez, que es lo que hace ahora. Para solucionar eso se tendria que borrar la EEPROM antes de escribir el programa, correcto?

El software ya lo tengo. Leo un archivo .hex y se lo envio al firmware línea por línea.

He provado ésto, sin éxito :(

#define EEPROM_SIZE getenv("DATA_EEPROM")
#define EEPROM_START getenv("EEPROM_ADDRESS")
#define EEPROM_END (EEPROM_START + (EEPROM_SIZE-1))


void load_program(void){

      //...

      /* Borrar EEPROM */
      unsigned int32 addr_ee;
      for(addr_ee=EEPROM_START; addr_ee<EEPROM_END-EEPROM_ERASE_SIZE+1; addr_ee+=EEPROM_ERASE_SIZE)
         erase_program_eeprom(addr_ee);    
       
      //se escribe el programa al pic
}
 

Lo que se ha de hacer es simplemente eso, no? un bucle recorriendo la memoria eeprom y borrarla. Porque no me funciona? Hay alguna otra forma?
#2
Buenas,

Ando con la Alfa 1W (rtl8187) ahora mismo, muy bien en gwindows, muy mal en Ubuntu... Estoy bastante harto ya, he probado de todo, pero no hay manera de que funcione como dios mande en Ubuntu, siempre se desconecta.
Lo que voy a hacer es comprarme otro adaptador wifi (no solo por Ubuntu, sino porque quiero algo más de potencia) y queria saber si hay algun otro chipset que da problemas igual que el rtl8187 que deberia de evitar y si hay alguno que recomendais especialmente. Nada más.

Saludos.
#3
Digamos que la clave en hexadecimal sea 00:11:22 (etc).
He probado con introducirla sin los dos puntos, pero no funciona.
Existe alguna forma o programa que permita introducir la clave de la red inalámbrica en formato hexadecimal?

Un saludo.

pd: Por ejemplo, el REALTEK Wireless LAN Utility lo permite, pero el caso es que se utiliza el wifi del portátil, sin un adaptador wifi externo(el cual sí utilizaria el programa de Realtek).
#4
Lo he intentado, pero no funciona con el programa de Wireless LAN Utility de Realtek.
Siempre se queda con conectiviada nula o limitada.



El "tipo EAP" y "túnel", tienen que ser esos, lo de "Identidad" no sé bien a qué se refiere, asi que he puesto el dominio, también he probado con quitarlo de ahí y ponerlo en nombre de usuario (usuario@dominio). Y ya por último, la auetntificacion de red, he probado con combiarla a WPA2, pero sigue igual.


La única solución seria darle el "mando" a Windows para que maneje las redes inalámbricas (me refiero a lo de Configuración a cero)? y a partir de ahí podría usar el SecureW2 para establecer el túnel.

Un saludo.


pd: en Linux ningún problema, pues no hace uso del Wireless LAN Utility.
#5
Hola.

Veréis, tengo una Alfa 1W desde hace 1 año, y he estado usando a 2 "victimas" para conectarme a internet durante mucho tiempo, pero llega un dia y ya no me van. Decido pedirle un amigo que me deje su Alfa 1W, y sorpresa, con la suya sí que puedo conectarme (con las mismas claves que he estado usando).  Entonces, qué significa esto? Tienen a mi alfa en la lista negra (filtrado mac)?
Una de esas víctimas, llamemosla "A", me deja conectar a medias (no me deja la puerta de enlace). Y con la otra, la "B", conecta durante 1 o 2 segundos y se desconecta.
Me apunto la ip y la puerta de enlace de "A" que consigo con la Alfa de mi amigo, y pruebo a introducirlas en la asignación manual de IP, y nanai, tengo conexión completa (ip, mascara de subred y puerta de enlace) pero internet no va. Con "B", igual.
Os agradecería que me orientaseis a descubrir qué es lo que ocurre y como podría solucionarlo.

Un saludo.
#6
Java / Recursividad con funciones void, ayuda
2 Abril 2011, 01:12 AM
Buenas.

Tengo un código que me reordena un vector de una determinada manera, en la mitad izquierda, estarán los numeros menores o iguales que x, y por la derecha, los que son mayores que x.
Por ejemplo: v = {1, 10, 23, 15, 13, 8}; x = 8;
Reordenado (una posibilidad) seria v = {3, 1, 8, 10, 23, 15};

Sé hacerlo si digo que la funcion retorne un array, pero no sé hacerlo sin que retorne nada.

Código (java) [Seleccionar]
   public int[] reorganize2(int[] v, int x, int left, int right){ //left = 0, right = v.length
       if(left==right)
           return reorganize2(v,x,left,right-1);
       else{
           int m = (left+right)/2;
           if(v[m] <= x){
               swap(v,m,left);
               return reorganize2(v,x,left+1,right);
           }else{
               swap(v,m,right-1);
               return reorganize2(v,x,left,right-1);
           }
       }
   }

   public void swap(int[] v, int i, int j){
       int tmp = v[i];
       v[i] = v[j];
       v[j] = tmp;
   }


He probado a hacer ésto:
Código (java) [Seleccionar]

   public void reorganize2(int[] v, int x, int left, int right){ //left = 0, right = v.length
       if(left==right)
           reorganize2(v,x,left,right-1);
       else{
           int m = (left+right)/2;
           if(v[m] <= x){
               swap(v,m,left);
               reorganize2(v,x,left+1,right);
           }else{
               swap(v,m,right-1);
               reorganize2(v,x,left,right-1);
           }
       }
   }

   public void swap(int[] v, int i, int j){
       int tmp = v[i];
       v[i] = v[j];
       v[j] = tmp;
   }

Pero no funciona.
No he hecho muchos ejercicios de recursividad con funciones void (he hecho solo uno, pero apenas lo entiendo), asi que agradecería que me alguien me lo explicase  mas o menos :-\

#7
Hola, me gustaría saber de qué manera puedo conocer la contraseña de un perfil (red wireless). El caso es que introduje la contraseña la 1a vez (se guarda en el perfil), y también me la apunté en un papel, pero resulta que la apunté mal, asi que ahora quiero saber qué contraseña introduje exactamente la 1a vez, ya que la necesito.
El Realtek Wireless LAN Utility no me la muestra (la contraseña está codificada con asteriscos), no debería de estar en algún registro de Windows?


S2.

PD: Tengo la alfa 1w.

-------------

Edit: la encontré -> Ejecutar: regedit -> busco RTWLAN, profile y ahí está la contraseña.

Sry por abrir un nuevo hilo (he visto que hay otra persona que pregunta lo mismo). Podéis borrarlo.
#8
Programación C/C++ / La serie mas larga?
15 Febrero 2011, 19:13 PM
Hola. A ver si me podéis ayudar con éste código que no acabo de entender.

Entrada: Secuencia de enteros acabada en 0.
Salida: La serie de enteros ordenada decrecientemente más larga.

Ejemplo:
10 4 2 4 3 1 1 0

La serie mas larga seria 4 3 1 1

Ésta es la funcion main (dada por mi profesora):

int main(){
   
    int t1[M], t2[M];  //t1 = serie actual, t2 = serie mas larga
    int n1, n2=0;     //longitud de las series (n1 se inicializa dentro de la accion leer_e)
    int x;            //lector
   
    printf("Intro. serie de enters acabada en 0:\n");
    scanf("%d", &x);     //inicializacion del primer entero
    leer_e(t1, n1, x);   //inicializacion de la 1a serie
    while(!u_s_o_d(x)){  //ultima serie ordenada decrec. 
                        tratar_t(t1, n1, t2, n2);
                        leer_e(t1, n1, x);
                        }
    resultado(t2, n2);   
   
    return 0;
}


Las acciones leer_e, u_s_o_d, y resultado, ya las tengo (si hace falta, os las muestro).
El problema creo que reside en el "núcleo" del programa, que es la acción tratar_t.
Mi version es tal que así:
void tratar_t(int t1[], int &n1, int t2[], int &n2){
     
     int i, j;     
     
     if(n1>n2){
               j=0;               
               for(i=0; i<=n1; i++){
                              t1[i]=t2[j];
                              j++;
                              }
               n2=j;               
     }
     //else no hacer nada, la serie mas larga es la ultima t2
   
}


Os explico. Se trata de ir comprobando cual es la serie mas larga, copiandola en t2, hatsa que se llegue al final de la secuenia. n1 representa la longitud de la serie ordenada decr. y se compara con n2 (la última serie ordenada decr. mas larga). Si resulta que n1 es mas grande que n2, entonces se ha de copiar la serie(actual) t1 con longitud n1 en t2.
Entonces mi pregunta es, se copia bien t1 en t2?

Si creéis que el algoritmo esta bien, os mostraré el resto del programa para encontrar el problema, pues el resultado me sale siempre 0.
#9
Quería saber qué es lo que significa cuando no se puede inyectar a una red (WLAN_) con más de 80% de cobertura.  Su cifrado es tipo WEP y los pasos que sigo son:


airmon-ng start wlan0

airodump-ng wlan0

airodump-ng -c "n" --bssid "mac" -w hola wlan0

aireplay-ng -1 30 -o 1 -e "WLAN_" -a "mac" -h "mi mac" wlan0 //asociacion correcta

aireplay-ng -2 -p 0841 -c ff:ff:ff:ff:ff:ff -b "mac" -h "mi mac" wlan0 //envía paquetes (340) pero la velocidad de data por segundo (#/s) es 0.


#10
Hace poco adquirí una alfa 1w - 5dbi y el caso es que no me funciona bien, se me desconecta y conecta contínuamente (el adaptador). No es de mi SO(lo he probado en ubuntu y wifislax) ni de los drivers (he probado nuevos y viejos). Se trata del cable, que no sé que le pasa. Para que me funcione tengo que mover y buscar el sitio adecuado del cable hasta que éste conecte de verdad. Si reinicio el pc o toco el cable, se desconecta.

Asi pues, qué me recomiendan hacer? Qué cable (de calidad) necesito?

Saludos.

PD: El adaptador lo he comprado en pccomponentes, he contactado con ellos pero aun no me han contestado, cuando lo hagan, os lo haré saber ;)