Shiftout DI, CLK, MSBFIRST, [%1100\4, addr] ' Send read command and address
[%1100\4, addr]
Shiftout DI, CLK, MSBFIRST, [%1010\4, addr, B0]Código: [Seleccionar]Shiftout DI, CLK, MSBFIRST, [%1010\4, addr, B0]
Lo que hace el codigo es mandar el dato de manera "sincrona"?? Por el Pindata en este caso DI, el pind e clock en este caso CLK, enviando priemro el BYTE ALTO por lo de MSBFIRST y el clock estando en bajo, cuando pone %1010\4 significa que solo va enviar 4 bits porque si no se especifica \bits por default manda 8.
La verdad no se como se comunique la memoria con un PIC pero seria bueno leer el datasheet para ver como se direcciona y eso.
Hace unas semanas que adquiri unas memorias de este tipo
Cuando tenga algo definitivo lo paso por aqui.
MEMORY ORGANIZATION
The M93Cx6 is organised in either bytes (x8) or words (x16). If the ORG input is left unconnected (or connected to VCC) the x16 organization is selected; when ORG is connected to Ground (VSS) the x8 organization is selected.
Código: [Seleccionar]Shiftout DI, CLK, MSBFIRST, [%1010\4, addr, B0]
Lo que hace el codigo es mandar el dato de manera "sincrona"?? Por el Pindata en este caso DI, el pind e clock en este caso CLK, enviando priemro el BYTE ALTO por lo de MSBFIRST y el clock estando en bajo, cuando pone %1010\4 significa que solo va enviar 4 bits porque si no se especifica \bits por default manda 8.
La verdad no se como se comunique la memoria con un PIC pero seria bueno leer el datasheet para ver como se direcciona y eso.
Código: [Seleccionar]Shiftout DI, CLK, MSBFIRST, [%1010\4, addr, B0]
Lo que hace el codigo es mandar el dato de manera "sincrona"?? Por el Pindata en este caso DI, el pind e clock en este caso CLK, enviando priemro el BYTE ALTO por lo de MSBFIRST y el clock estando en bajo, cuando pone %1010\4 significa que solo va enviar 4 bits porque si no se especifica \bits por default manda 8.
La verdad no se como se comunique la memoria con un PIC pero seria bueno leer el datasheet para ver como se direcciona y eso.
el problema es que dice que enviara 4 bit pero segun la lectura igual esta enviando los 8 bit porque la lectura para 8 bit si esta perfecta
saludos y me alegra que estemos atacando el tema
Creo que en la explicacion de Navaismo sobre ShifOut explica el problema que tienes, alli dice que el maximo es 8 bits!!
Ademas hay que ver que tipo de variable es la que recibe tu dato (byte o word), deberia ser una word. :mrgreen: :mrgreen:
Se me encendió la ultima lamparita del año 2007, je..je.. :D :D
Ok me alegro que hallas resuelto el problema que tenias!jajajaja que bueno contar con personas como tu que bueno eres, me sorprendes estas al pendiente de todo eso te hace diferente a los demas nuevamente gracias y si tienes razon no es necesario deja quitarlo..
Mira el define loader used 1 no es necesario a menos que vayas a usar el debuger del pic basic con el microcode studio.
Saludos
De nada mi pana!
Para eso estamos aqui, para ayudarnos entre todos.
Le debo muchisimo a las personas que conforman este foro, son lo maximo!!
Si quieres aprender a programar pic entre otras cosas :mrgreen: quedate aqui.
Desde Valencia, Venezuela que tengan una Feliz Navidad a todos mis estimados amigos! :mrgreen:
Me explico y actuemos por la logica lo primero es tener claro lo que realmente hace esto:
Shiftout DI, CLK, MSBFIRST, [%1100\4, addr]
SHIFTOUT DataPin,ClockPin,Mode,[Var{\Bits}...]
Synchronously shift out Var on ClockPin and DataPin. ClockPin and DataPin may be a constant, 0-15, or a variable that contains a number 0-15 (e.g. B0) or a pin name (e.g. PORTA.0). \Bits optionally specifies the number of bits to be shifted out. If it is not specified, 8 bits are shifted out, independent of the variable type. The Mode names (e.g. LSBFIRST) are defined in the file MODEDEFS.BAS.
buen dia amigo amigo me podras ayudar con el codigo en c para las eprom 93c56 tengo parte del codigo pero estoy confundido has pdodio simular esa memoria en algun softwarelo hice pero enproton hace mucho tiempo y para la simulacion proteus no soporta microwire