elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ... 51
211  Programación / Programación C/C++ / Re: Vectores vs Listas en: 1 Junio 2013, 14:35 pm
Yo usaría una cola circular, es sencillo y muy práctico.

Código:
disparos[MAX];
int in=0, out=0;

Cuando la nave dispara:
Código:
disparos[in++]=loquesea;

Cuando quieres comprobar los disparos que una nave tiene pendiente:
Código:
while (out != in) ComprobarDisparo(disparos[out++]);

Acuérdate que entonces tendrías que comprobar que los indicies no han sobrepasado la dimensión del vector. Lo puedes hacer con un if siempre que leas o escribas algo en 'disparos', o sino puedes jugar con el tamaño de las variables tipo:

Código:
disparos[256];
unsigned char in=0, out=0;

De tal manera que los índices al llegar al 255 y sumarle uno, directamente pasan a 0 y empezarías a sobreescribir disparos antiguos que en teoría ya habrás procesado.

Espero que te sirva, un saludo!
212  Programación / Programación C/C++ / Re: Problema con contador de palabra en C en: 31 Mayo 2013, 23:38 pm
Perdona que no haya mirado mucho el código, pero de entrada tienes un despiste mortal de necesidad, no has inicializado la variable i y a partir de ahí paré de mirar, sorry. Cuando pille más tiempo lo miraré más detalladamente.

De hecho en esta misma línea que comentas:

Citar
while(frase!= '32')

O bien pones esto:
Código:
while(frase[i]!= 32)

O bien pones esto:
Código:
while(frase[i]!= ' ')

Saludos!
213  Programación / Programación C/C++ / Re: Problema con contador de palabra en C en: 31 Mayo 2013, 22:40 pm
Prueba con:

Código
  1. char frase[] = "Hola como estas Hola como te va Hola amigo";
  2. char *p = frase;

Y haz con 'p' todo lo que hacías con 'frase'.

Saludos.
214  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Quejas en: 31 Mayo 2013, 22:36 pm
Igual es porque te tienen manía...
215  Programación / Programación General / Re: [Licencias open source] Alguien puede ayudarme a elegir la correcta? en: 27 Mayo 2013, 23:57 pm
No tengo ni idea de licencias pero esto:

Citar
6- La licencia podrá ser modificada por el equipo organizador en versiones posteriores a la de la implementación de la licencia anterior. (Un poco lioso, básicamente es que si yo le implemento una licencia, pongamos BSD, a la versión 1.0 del software que le pueda poner otra distinta a la versión 2.0)

No es un poco feo? Quiero decir, primero lo hacéis software libre, la gente colabora arreglando fallos o implementando mejoras sin ningún tipo de afán económico, y cuando vosotros queráis podéis cambiar la licencia y sacar beneficio económico?
216  Foros Generales / Dudas Generales / Re: Cuenta bancaria indetectable/anónima. en: 27 Mayo 2013, 22:13 pm
Bueno dije en teoría porque no es tan fácil que den los datos de los titulares. Para que los den se requieren de ciertas cosas como una orden judicial y que la persona que se está investigando esté imputada, como ejemplo más reciente todo lo del caso Bárcenas. Quiero decir, para que den tus datos, las autoridades ya tendrían que estar casi seguras de que tienes cuentas allí y todo tendría que estar muy demostrado para que dieran tus datos. Aun así, es muy difícil que los den, véase últimamente que dicen que toda la cúpula del PP y de otros partidos tienen cuentas en Suiza pero de momento nada está demostrado, supongo que porque Suiza no da sus datos y entonces no se puede corroborar.

En fin, que en la mayoría de los casos y a no ser que cambien las leyes (que hace poco me suena que vi en televisión que se pedía hacer una reforma para que los paraísos fiscales desaparecieran), una cuenta en Suiza sería más que segura.

Un saludo!
217  Foros Generales / Dudas Generales / Re: Cuenta bancaria indetectable/anónima. en: 27 Mayo 2013, 21:55 pm
Has oído hablar de los paraísos fiscales? Abre una cuenta en Suiza por ejemplo, y en teoría no pueden dar datos sobre las cuentas que gestionan a autoridades y demás.

O sino diría que todo el tema de los bitcoins es anónimo, aunque es algo arriesgado comprar bitcoins, su cotización se mueve como una montaña rusa.

Un saludo!

pd. Deja de ver películas sobre hackers y demás xD
218  Informática / Electrónica / Re: PWM con salida en 4 pines de un pic desfasados entre ellos en: 27 Mayo 2013, 01:33 am
Citar
Imagínate que tienes el PORTB de la siguiente manera (PB- 0,0,0,0,0,0,0,0 - PB7). Creo que solo era en las cuatro líneas de más peso, pero bueno, nos da igual porque nos sirve. En caso de que PB0 se ponga a 1, producirá una interrupción, si PB1 se pusiera a 1 aunque PB0 también lo esté volverá a pedir interrupción y así hasta PB3 (creo que solo eran los 4 BITS de menor peso en el caso del 16F876A, mira a ver en el tuyo si tienes algo parecido...).

De qué sirve detectar un cambio en esos 4 pines? Habría que generar la frecuencia a la que quisieras el PWM fuera del micro no? Y entonces estaríamos como antes.

Citar
Por otro lado... la única manera de hacerlo mediante software sería indicándole un tiempo (menor que el DUTY CYCLE del primero, o el anterior al que quieras solapar) a un TIMER para que produzca una interrupción y active la salida. el TIMER correría en segundo plano dejando libre al micro y en la interrupción gastarías no más de 4 ciclos de reloj (400nanosec). El desvío sería mínimo y podrías ajustarlo en el TIMER clavándolo casi a la perfección. El PIC solo estaría procesando cada 400 nanosegundos y el resto del tiempo podrías seguir con el programa.

Lo acabo de comprobar porque estaba convencido y me da unas 35-45 instrucciones la rutina de interrupción (3.5 - 4.5 usec), así que sí que quedaría tiempo de sobras para otras tareas. Diría que puse un 0 de más la otra vez que lo pensé... xD

Y bueno, se lo comentaré el martes a mi jefe a ver si quiere intentarlo por software, que ahora ya no sé porque no quiere hacerlo así.

Citar
En fin, jefes.

;-)

edito:

Vale, vuelvo a cambiar de opinión y creo que no sería posible hacerlo con timers por interrupciones xD

El tema es, como dije la isr estaría formada por unas 35-45 instrucciones, digamos que 40 de media y serían unos 4usec. Para tener los pulsos solapados y teniendo 4 salidas, harían falta 8 interrupciones para hacer 1 ciclo del PWM. Y teniendo en cuenta que necesitaría poder llevarlo a una frecuencia de 50KHz (20usec) pues las cuentas no dan...

Un saludo!
219  Informática / Electrónica / Re: PWM con salida en 4 pines de un pic desfasados entre ellos en: 24 Mayo 2013, 01:21 am
@Firos

Citar
Pues ahora, solo te falta definir cómo tiene que trabajar el PIC, si no quieres hacerlo por software para que el PIC no tenga "tanto trabajo" (que sigo pensando que ese trabajo es mínimo, puesto que si configuras los timers con interrupción puedes seguir haciendo otras cosas) pues tendrás que hacerlo de forma externa.

No lo he probado, pero tratándose de que necesito una frecuencia del PWM de unos 50KHz y de que el micro trabaja a 40MHz (100 nsec/instrucción), si configurara los timers para cambiar los pines por la interrupción, el micro no pararía de entrar y salir de interrupciones. Además recuerda que dije que los pulsos deben estar solapados, por lo que en 20usec el micro debería entrar 8 veces en la rutina de interrupción para cambiar pines, y así a ojo la ISR tendrá unas 15-20 instrucciones entre contadores, cambios de pin, y otras instrucciones de control, así que los 20usec estarían casi exprimidos sin dejar al micro hacer mucho más.

Citar
Yo activaría las interrupciones externas en el PIC por la patilla X y me olvidaría de configurar nada más. De tal forma que cuando se detecte una variación en esa patilla saltase a una interrupción, desactivando uno de los PWM's y activando el siguiente y saldría de la interrupción. Salta otra interrupción, desactivas el PWM's activado anteriormente y conectas el siguiente (con una diferencia de menos de 1us trabajando a 8Mhz o menos si el PIC trabaja con más frecuencia). Y así en un bucle. En este caso el microprocesador esta completamente sin hacer nada, puesto que estarías esperando a una interrupción externa. [...]

Bueno esto sería complicado por el tema de que los pulsos deben estar solapados. Debería llevar algunos contadores para detectar cuando tengo que llevar un pin a alto y cuando debo llevarlo a bajo. Supongo que se podría hacer y es buena idea pero ya me han dicho que quieren evitar a toda costa el uso de circuitería de control externa al micro, así que... xD

En fin, ya me han dado otras tareas para hacer y me han dicho que me olvide de eso. De hecho ni ellos saben qué sistema van a implementar cuando en 1 mes y poco deben entregar el proyecto... Pero bueno, yo soy un mandado así que ellos sabrán.

Igualmente gracias por la ayuda, todo lo que pueda aprender mientras estoy de prácticas es más que bienvenido :D

@Meta

Te agradezco también la ayuda pero... No has leído el hilo verdad? xD

Si te fijas el programa que has puesto solo se parece a lo que había pedido porque salen las siglas PWM, pero por lo demás... Pero bueno gracias igualmente, supongo que a alguien le servirá.

Un saludo!
220  Informática / Electrónica / Re: PWM con salida en 4 pines de un pic desfasados entre ellos en: 21 Mayo 2013, 15:06 pm
Muchas gracias Firos, esto me será de gran ayuda. Me miraré bien estas dos alternativas a ver si puedo sorprender a mi jefe que ahora estoy en periodo de prueba... xD

Citar
¿No te pide ningún tiempo de DUTY CYCLE?

Bueno no me han dicho nada sobre eso. Solo me dijo que quería los pulsos solapados, así que ya intentaré hacer algo para dejarlo en función de una variable.

Citar
Haciendo una pequeña búsqueda he encontrado este: Viper50/SP

Como curiosidad, qué buscaste para dar con estos resultados? Porque estuve un rato poniendo cosas como "pwm phase shifted" ademas de "smps" y cosas así, y no encontré nada que me iluminara.

Gracias de nuevo!

edito:

Citar
Aunque vamos... yo antes que usar un SMPS usaría un AOP (amplificador operacional) o una puerta lógica NAND con un condensador, una resistencia y un potenciómetro para hacer un circuito oscilador (el mismo efecto que conseguimos con el SMPS) y haciéndo un cálculo mínimo ajustarle la frecuencia al tiempo que tu quieras y voalá, ya tendríamos señal externa pulsatoria para generar las interrupciones externas.

Pero a ver... el SMPS, no es más que un módulo ECCP mejorado no? Con más rapidez y precisión, y algunos modos de funcionamiento más. Entonces lo que tu me comentas de detectar interrupciones externas... Se haría el PWM por software o con el módulo SMPS? Quiero decir, al detectar la interrupción, tendría que ir cambiando los pines de salida para hacer los pulsos, o solo sería activarlo una vez y ya luego el módulo continuaría con el PWM?

No sé si me he explicado muy bien así que si necesitas que lo aclare un poco dímelo...

Un saludo!
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ... 51
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines