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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Temas
Páginas: 1 ... 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [36] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ... 66
351  Informática / Electrónica / No furula es código en rojo de un PIC. Quiero sabe el motivo. en: 27 Abril 2013, 17:25 pm
Hola:



Se me atasca el PIC tanto en el simulador Proteus y físicamente, no graba en la su EEPROM interna del PIC16F88.

Lo que hace el PIC del programa principal es, con un pulsador en RA0 enciende y apaga un LEd en la salida RB0.

Hasta ahí todo bien. Solo que no es capaz de grabar nada en la EEPROM, cuando está encendido el Led o apagado, la EEPROM la función que hace es esa, mantener lo últimos valores del Led.

Siempre se me atasca por aquí.
;Guarda en la EEPROM el valor de la salida.
Escribe_Dato_EERPOM
    BANKSEL EEADR
    movlw   0x00                    ; Dirección.
    movwf   EEADR                   ; Carga registro EEADR con la dirección a escribir.
    movf   Dato,W
    movwf   EEDATA                  ; Carga el registro EEDATA con el dato a escribir.
    BANKSEL EECON1
    bcf     EECON1,EEPGD            ; Selecciona acceso a memoria EEPROM de datos.
    bsf     EECON1,WREN             ; Permiso de escritura.
    movlw   0x55
    movwf   EECON2
    movlw   0xAA
    movwf   EECON2                  ; Secuencia de escritura según Mirochip.
    bsf     EECON1,WR               ; Inicio del ciclo de escritura.
[COLOR="red"]Espera
    btfsc   EECON1,WR
    goto    Espera                  ; Esperar que finalice (WR=0).
[/COLOR]
    bcf     EECON1,WREN             ; Retira el permiso de escritura.
   return


Código:
; Cada vez que presiona el pulsador conectado a la línea RA0 conmutará el estado de
; un LED conectado a la línea RB0.
;
; ZONA DE DATOS **********************************************************************

    LIST        P=16F88
    INCLUDE     <P16F88.INC>
    __CONFIG    _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _FOSC_EC
    __CONFIG    _CONFIG2, _IESO_OFF & _FCMEN_OFF
ERRORLEVEL -302

    CBLOCK 0x20
RAM_ret
RAM_ret_1
    ENDC

    CBLOCK 0x110
Dato
    ENDC

#DEFINE Pulsador   PORTA,0        ; Pulsador conectado a RA0.
#DEFINE Led        PORTB,0        ; Línea donde se conecta el diodo LED.


; ZONA DE CÓDIGOS ********************************************************************

    ORG     0
Inicio
clrw
    clrf    PORTB               ; Borra los latch de salida.
    BANKSEL ANSEL
    clrf    ANSEL               ; Puerto A digital.
    BANKSEL TRISA
movlw b'11111111'
    bsf     Pulsador           ; Pulsador activado como entrada.
clrf TRISB
    bcf     Led                ; Activar como salida Led.
call Lee_Dato_EERPOM_2
    BANKSEL PORTA               ; Vuelve al banco 0.
Principal
    btfsc   Pulsador            ; ¿Pulsador presionado?, ¿(Pulsador)=0?
    goto    Fin                    ; No. Vuelve a leerlo.
;    call    Retardo_20ms        ; Espera que se estabilicen los niveles de tensión.
    btfsc   Pulsador            ; Comprueba si es un rebote.
    goto    Fin                    ; Era un rebote y sale fuera.
    btfsc   Led                ; Testea el último estado del LED.
    goto    EstabaEncendido
EstabaApagado
    bsf     Led                ; Estaba apagado y lo enciende.
;movlw b'00000001'
BANKSEL Dato
movf Led
movwf Dato
call Escribe_Dato_EERPOM_2
BANKSEL PORTA ; Banco 0.
    goto    EsperaDejePulsar
EstabaEncendido
    bcf     Led                ; Estaba encendido y lo apaga.
;movlw b'00000000'
movf Led
movwf Dato
call Escribe_Dato_EERPOM_2
BANKSEL PORTA ; Banco 0.
EsperaDejePulsar
    btfss   Pulsador            ; ¿Dejó de pulsar?. ¿(Pulsador)=1?
    goto    EsperaDejePulsar    ; No. Espera que deje de pulsar.
Fin
    goto    Principal

;Subrutina EEPROM ******************************************************************
Lee_Dato_EEPROM
    BANKSEL EEADR
    movlw   0x00                    ; Dirección.
    movwf   EEADR                   ; Carga el registro EEADR con la dirección que se desea leer.
    BANKSEL EECON1
    bcf     EECON1,EEPGD            ; Selecciona el acceso a memoria EEPROM.
bsf    EECON1,RD               ; Inicia el ciclo de lectura.
    BANKSEL EEDATA
    movf    EEDATA,W                ; Carga en W el dato recuén leído.
    return

;Guarda en la EEPROM el valor de la salida.
Escribe_Dato_EERPOM
    BANKSEL EEADR
    movlw   0x00                    ; Dirección.
    movwf   EEADR                   ; Carga registro EEADR con la dirección a escribir.
    movf Dato,W
    movwf   EEDATA                  ; Carga el registro EEDATA con el dato a escribir.
    BANKSEL EECON1
    bcf     EECON1,EEPGD            ; Selecciona acceso a memoria EEPROM de datos.
    bsf     EECON1,WREN             ; Permiso de escritura.
    movlw   0x55
    movwf   EECON2
    movlw   0xAA
    movwf   EECON2                  ; Secuencia de escritura según Mirochip.
    bsf     EECON1,WR               ; Inicio del ciclo de escritura.
Espera
    btfsc   EECON1,WR
    goto    Espera                  ; Esperar que finalice (WR=0).
    bcf     EECON1,WREN             ; Retira el permiso de escritura.
return

     END

¿Alguna idea?

Saludo.
352  Informática / Electrónica / Intenar averiguar el el fallo de la GC en: 20 Marzo 2013, 14:33 pm
Hola:



Me dio por probar la GameCube para jugar al Resident Evil Remake, motivo de su compra. Hace muchos años, antes de que saliera la PS3, mucho antes, no he tocado la GC. Me limitaba a jugar juegos de PS2 y PS3. Ahora me encuentro que la GC enciende, puedo leer la Memory Card y ya está. En cuestión de leer juego nada de nada. Nunca muesta el laser rojo, ni un poco. Lo tengo ahora mismo desarmado, le he puesto grasa a los engranajes para que vaya con soltura y nada. No tiene ningún tipo de mod o chip, tal como vino al mundo.

¿Hay alguna solución para salvarlo?

¿Comprar otro lector?
Para eso me compra una Wii (que nunca lo he podido ver ni en pintura), pero sus juegos con compatibles.

Un cordial saludo.

PD: Lo que no me gusta de las consolas con fomato disco, que los lectores no duran como los cartuchos de antes. A parte de ello, no puedes cambiar de lector con PS3. ;(
353  Programación / Programación General / Mejores revistas de programación en: 17 Marzo 2013, 12:30 pm
Hola:



Quiero saber, dentro de España, revistas favoritas sobre el mundo de programación que leen y practican con ellas algunos códigos. He estado en elmundo de la electrónica, PC, Linux y videojuegos, ahora toca programación, se pueden intercalar. En este caso, si lees alguna revista muy de solo programación, cuál te gusta y cual das consejos sobre ella.

Quiero saber cuantas marcas hay en el mercado ahora mismo. Me picó la curiosidad porque encontré en el baúl de los recuerdo una que se llama Divmanía Año1, número 1. Muy pero que muy entretenido para la época ya más de 10 años por lo menos.

El que me llama la atención es relacionado con Visual Studio y Bases de datos, solo se centran en ello, las demás de todo un poco.

No la he comprado pero las pongo y nos de consejos o sugerencias de que les parece.
http://www.dotnetmania.com/revista

Me da la sensación que las revistan antiguas, son muy entretenidas.

Un saludo.
354  Informática / Electrónica / Manejar EEPROM interna en: 7 Marzo 2013, 15:51 pm
Hola:

Uso el PIC12F629 puedo leer un valor en la EEPROM interna pero no soy capaz  de almacenarlo en la misma dirección.

Este es el código.
Código:
;No olvidar que si GP2 detecta un un 0 en la entreda menor de 5 segundos,
;el PIC no actua, vuelve a lo suyo como si no pasara nada.
;
; Cuando detecte
;GP2|GP0 GP1 GP4 GP5
;---+----------------
;1) | 0   1   0   0
;2) | 1   0   1   0
;3) | 0   1   1   0
;4) | 1   0   0   1
;
;ZONA DE DATOS*****************************************************************

    LIST P=12F629                          ; Procesador usado.
    INCLUDE <P12F629.INC>                  ; Fichero que definen las etiquetas.

    __CONFIG   _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_OFF & _FOSC_INTRCIO
    ERRORLEVEL -302

#DEFINE     Pulsador    GPIO,2      ; Pulsador.
#DEFINE     Leds        GPIO        ; Leds está conectado al GPIO.

VARIABLES UDATA_SHR
ContadorEstado RES 1
RAM_ret RES 1
RAM_ret_1 RES 1
Contador RES 1

;ContadorEstado     equ  20h
;RAM_ret         equ 21h
;RAM_ret_1       equ 22h
;Contador        equ 23h

; ORG 0x2100 ; Corresponde a la dirección 0 de la zona EEPROM de datos.
; DE 0x00 ; El contador en principio a cero.

;ZONA DE CÓDIGOS***************************************************************
    ORG     0     
                  ; El programa comienza en la dirección 0.
    goto    Inicio

Inicio
    bsf     STATUS,RP0                  ; Selecciona banco 1.
    call    0x3FF                    ; Lo el valor de la calibración que sera almacenada en W.
    movwf   OSCCAL                    ; Paso el valor de W a OSCCAL para calibrar el oscilador.
    movlw   b'00000100'
    movwf   TRISIO
    movlw   b'00001111'
    movwf   OPTION_REG              ; Activa Pull Up.
    movlw   b'0000100'
    movwf   WPU                     ; Activada Pull Up del GP0.
    bcf     STATUS,RP0                      ; Selecciona banco 0.
    movlw   b'00000111'             ; Desactivar comparadores.
    movwf   CMCON
movlw .3
    movwf Contador
clrf GPIO
;***************************************************************************

Principal
    btfsc   Pulsador                ; ¿Pulsador presionado?, ¿(Pulsador)=0?
    goto    Principal               ; No. Vuelve a leerlo.
;    call    Retardo_20ms            ; Espera que se estabilicen los niveles de tensión.
    btfsc   Pulsador                ; Comprueba si es un rebote.
    goto    Principal               ; Era un rebote y sale fuera.
    call    IncrementaVisualiza             ; Incrementa el contador y lo visualiza.
EsperaDejePulsar
    btfss    Pulsador                ; ¿Dejó de pulsar?. ¿(Pulsador)=1?
    goto    EsperaDejePulsar         ; No. Espera que deje de pulsar.
Fin    goto    Principal

;***************************************************************************   
; Subrutina "IncrementaVisualiza" ---------------------------------------------------------

IncrementaVisualiza
call Lee_Dato_EEPROM
incf Contador,F ; Incrementa el contador y comprueba si ha
call Escribe_Dato_EERPOM
movlw d'4' ; llegado a su valor máximo mediante una
subwf Contador,W ; resta. (W)=(Contador)-4.
btfsc STATUS,C ; ¿C=0?, ¿(W) negativo?, ¿(Contador)<4?
InicializaContador
clrf Contador ; No, era igual o mayor. Por tanto, resetea.
Visualiza
movf Contador,W
call Tabla ; Lo pasa a siete segmento para poder ser
movwf GPIO ; visualizado en el display.
return


Tabla
    addwf PCL,F                      ; Sumo W al contador de programa. ;
    retlw b'00000010'  ;1
    retlw b'00010001'  ;2         
    retlw b'00010010'  ;3               ; Retorno con el valor correspondiente. 
    retlw b'00100001'  ;4
;Subrutina EEPROM ******************************************************************

Lee_Dato_EEPROM
    bsf     STATUS,RP0              ; Banco 1
    movlw   0x00              ; Primera posición de la tabla
    movwf   EEADR                  ; Apunta ahí
;    movf    Contador,W       ; Coge el contador
;    addwf   EEADR                  ; Suma el contador para apuntar al dato que nos interesa
    bsf     EECON1,RD              ; Lee el valor de la tabla
    movf    EEDATA,W              ; Pasa el valor a W para trabajar con él.
bcf STATUS,RP0
    return



;Guarda en la EEPROM el valor del contador
Escribe_Dato_EERPOM
    bsf      STATUS,RP0             ; Banco 1.
    movlw    0x00                 ; Elijo esta dirección de la EEPROM y
    movwf    EEADR                  ; lo cargo en EEADR con el dato a escribir.
    movlw    Contador
    movwf    EEDAT                  ; Cargo el registro EEDAT con el dato a escribir.
    bsf      EECON1,WREN            ; Habilitar
    bcf     INTCON,GIE              ; Deshabilitar intercepciones.
    movlw     0x55                  ; Desbloquear escritura.
    movwf     EECON2
    movlw     0xAA
    movwf     EECON2
    bsf     EECON1,WR               ; Inicie la escritura.
    bsf     INTCON,GIE              ; Habilitar INTS.
bcf STATUS,RP0
    return
   
;Subrutina Retardo_20ms ************************************************************
 ; Retardo = 0.02 segundos.
; Frecuencia Reloj = 4 MHz.
; Retardo actual = 0.02 segundos = 20000 ciclos.

Retardo_20ms
            ;19993 ciclos.
    movlw    0x9E
    movwf    RAM_ret
    movlw    0x10
    movwf    RAM_ret_1
Retardo_20ms_0
    decfsz    RAM_ret, f
    goto    $+2
    decfsz    RAM_ret_1, f
    goto    Retardo_20ms_0
            ;3 ciclos.
    goto    $+1
    nop
            ;4 ciclos (incluyendo call).
    return

END

Salu2.
355  Programación / Programación General / Conseguir este tutorial de aprender hacer crack en: 21 Febrero 2013, 18:30 pm
Hola:





He visto este enlace y está caducado. A estas altura de la vida, a lo mejor hay mejores versiones o más actualizado.

http://www.emudesc.net/foros/anade-tus-manuales/7759-aprende-a-crackear-tutorial-crack-dia.html

Si alguien lo conoce y lo tiene. ¿Lo compraten?

Un saludo.

Edito:

Parece que hay algo aquí.
http://systeek.blogspot.com.es/2011/10/tema-2-sistemas-numericos-y-stack.html
356  Programación / .NET (C#, VB.NET, ASP) / No me funciona ejemplo de sobrecarga en: 24 Octubre 2012, 03:10 am
Hola:

Quiero hacer un mini ejemplo sobre Overloads y no me fucniona.

Código
  1. Module Module1
  2.  
  3.    Sub Main()
  4.        Dim Ejemplo1 As String = "AAAA"
  5.        Dim Ejemplo2 As Integer = 123445
  6.  
  7.        testSub()
  8.        testSub(Ejemplo1)
  9.        testSub(Ejemplo2)
  10.        testSub(Ejemplo1, Ejemplo2)
  11.  
  12.    End Sub
  13.  
  14.    Overloads Sub testSub()
  15.        Debug.WriteLine("No pasa nada.")
  16.    End Sub
  17.  
  18.    Overloads Sub testSub(ByVal i As String)
  19.        Debug.WriteLine(i)
  20.    End Sub
  21.  
  22.    Overloads Sub testSub(ByVal i As Integer)
  23.        Debug.WriteLine(i.ToString)
  24.    End Sub
  25.  
  26.    Overloads Sub testSub(ByVal i As String, ByVal j As Integer)
  27.        Debug.WriteLine(i & " -- " & j.ToString)
  28.    End Sub
  29. End Module

Error    2    Uso no apropiado de la palabra clave 'Overloads' en un módulo.    C:\Users\Usuario\documents\visual studio 2010\Projects\Ejemplito\Ejemplito\Module1.vb    18    5    Ejemplito

A pesar de leer por aquí sobre Overloads, no me guío.

Salu2.
357  Foros Generales / Foro Libre / ¿Para qué estos cortos de películas hackers? en: 23 Octubre 2012, 15:19 pm
Hola:



Viendo los capítulos del Cybergeddon, me ha gustado bastante para ser peli de hackers, más bien episodios, me he fijado hasta los códigos de lso programas que muestran, aunque a día de hoy, si sabes programación, esos sistemas operativos no se usan, más bien ningún mortal los conoces. Los códigos sin saber que lenguaje usan, he puesto pausa y e visto que tienen hasta IF, For, While...

En cuanto a la acción e investigación de los policías está muy bien hecha y en castellano.

La pregunta del millón.

¿Tienen intención de hacer una buena película hackers con fundamento?

Ver capítulos.

Un cordial saludo.

PD: Disculpen si este tema no va aquí.
358  Programación / .NET (C#, VB.NET, ASP) / Cambiar fuente de letras en: 24 Septiembre 2012, 08:39 am
359  Informática / Software / Tener disco de arranque en CD en: 8 Septiembre 2012, 19:41 pm
Hola:

Tengo un portatil viejo. La diskettera funciona, solo tengo uno y el XP me pide 4 para instalar el disco de inicio. Lo quiero para actualizar la BIOS.

¿Hay una manera de hacerlo con un CD-ROM?

La BIOS se descaga desde aquí.

http://support.acer-euro.com/drivers/notebook/as_1700.html

Saludo.
360  Informática / Hardware / Usar dos memorias RAM de diferentes marcas. en: 5 Septiembre 2012, 14:53 pm
Hola:


He comprado una palca base ASRock G41C-CS.

Luego me dio por cambiar de DDR2 a DDR3, no pueden estar las dos juntas. La marca de la RAM es ADATA, 4GB a 1333Mhz por 22€. Ahora vi otro módulo por 19€ KingSton 4GB a 1333 MHz, las características parece la misma.

¿Hay algún problema en usar la marca ADATA y KINGSTOM en la misma placa base?


Bajo mi punto de vista me da que no, por si acaso pregunto si alguien se ha llevado el chasco y da problemas de algún tipo aunque sea pequeño y poco molesto.

Un cordial saludo.
Páginas: 1 ... 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [36] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ... 66
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines