TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: sandra en 19 de Abril de 2008, 15:27:56
-
Hola estoy asiendo pruebas con una memoria serial todo va bien el detalle es que hay dos partecitas del ejemplo que no entiendo y a mí me molesta mucho utilizar código que no comprendo asi que les indico donde no entiendo como siempre les agradezco de antemano la ayuda que tengan a bien brindarme
Device 18F252
XTAL = 10
HSERIAL_BAUD = 9600 '
HSERIAL_RCSTA = %10010000 '
HSERIAL_TXSTA = %00100000 '
HSERIAL_CLEAR = On
Declare HBUS_BITRATE 400
main:
Dim X[10] As Byte
Dim Y[10] As Byte
Dim Z As Byte
Str X="abcdefghg"
'**ESCRITURA**
HBStart
HBusOut %10100000
HBusOut 0 'Adress alto = 0’ esto no lo entiendo porque
HBusOut 0 'Adress bajo= 0 ‘hay que ponerlo
For Z=0 To 9
HBusOut X[Z]
Next Z
HBStop
DelayMS 10
HBStart
HBusOut %10100000
HBusOut 0 'Adress H =0
HBusOut 0 'Adress L = 0
HBREStart
HBusOut %10100001
For Z=0 To 9
Y[Z]=HBusIn
If Z=9 Then HBStop : Else HBusAck ‘que es el hbusack
Next Z
HRSOut Str Y\9,13,0
DelayMS 100
GoTo main
-
Hola sandra!
HBusOut %10100000
HBusOut 0 'Adress alto = 0’ esto no lo entiendo porque
HBusOut 0 'Adress bajo= 0 ‘hay que ponerlo
Eso se debe a que la memoria que estas utilizando tiene como direccion un word y como el hbusout trabaja con byte tienes que enviarlo asi :mrgreen:
Primero el byte alto y luego el bajo.
Saludos
-
Te a agradezco por mas que le daba vueltas no le encontraba y el mentado HBusAck
Para que es por lo que entiendo es un bit de reconocimiento pero de que no se si para indicar que recibió bien el dato o que esta a la espera del siguiente :?
-
Hola de nuevo!
Mira tienes que leer sobre el protocolo i2c para que entiendas bien como funciona y para que es :mrgreen:
Es muy sencillo, cuando el maestro quiere comunicarse con el esclavo :D este primero envia la señal de start, para marcar el inicio de la comunicacion, luego envia el byte de control, este depende del tipo de dispositivo con el que te vayas a comunicar, por ejemplo para el caso de una memoria 24lcd32 el codigo de control es $A0, despues viene la direccion (si el dispositivo a comunicar es un memoria :mrgreen:) esta puede ser de 8 bit (byte) o 16bit (word) eso depende del dispositivo por eso hay que leer el data sheet :-) y por ultimo los datos que por lo general son de tamaño byte.
El bit de reconocimiento es generado por el esclavo al recibir cada byte (control, dirreccion, datos...)
y el proton lo guarda en el bit de acarreo del status.
Para mayor informacion reviza la ayuda del proton :mrgreen:
Saludos
-
Ok te agradezco y tienes razón boy a leer de nuevo toda la jerga del bus 12c y la data de la memoria mas o menos tengo ya la idea de cómo funciona el bus pero el bit de reconocimiento se me barría :?
Ta otra :g)
-
Hola sandra aqui (http://www.micropic.es/index.php?option=com_content&task=view&id=70&Itemid=1) hay mas informacion y con una memoria i2c :mrgreen:
Saludos
-
Te agradezco mucho esta muy bueno :-/ :-/ :-/ :-/ :-/ :-/ :-/
-
De nada cariño! :mrgreen:
Cualquier otra cosita estamos por aqui!