Puertos I/O

24
Puertos I/O Puertos I/O

description

Puertos I/O. Puertos I/O. 56 lineas divididos en 7 puertos de 8 bits No todos accesibles en los pines del módulo RCM3XX0 Los pines suelen tener funciones alternativas. Puerto A. Funciona como todo entradas o todo salidas - PowerPoint PPT Presentation

Transcript of Puertos I/O

Page 1: Puertos I/O

Puertos I/OPuertos I/O

Page 2: Puertos I/O

Puertos I/OPuertos I/O

56 lineas divididos en 7 puertos de 8 bits56 lineas divididos en 7 puertos de 8 bits

No todos accesibles en los pines del módulo No todos accesibles en los pines del módulo RCM3XX0RCM3XX0

Los pines suelen tener funciones alternativasLos pines suelen tener funciones alternativas

Page 3: Puertos I/O

Puerto APuerto A

Funciona como todo entradas o todo Funciona como todo entradas o todo salidassalidas

Comparte función con el bus de datos del Comparte función con el bus de datos del puerto esclavo o del puerto auxiliarpuerto esclavo o del puerto auxiliar

Page 4: Puertos I/O

Puerto APuerto A

Page 5: Puertos I/O

Puerto BPuerto B

Se puede programar cada línea como Se puede programar cada línea como entrada o salidaentrada o salida

Comparte función con el bus de Comparte función con el bus de direcciones del puerto auxiliardirecciones del puerto auxiliar

PBDDR 1=salida 0=entradaPBDDR 1=salida 0=entrada

Page 6: Puertos I/O

Puerto CPuerto C

Cuatro entradas (impares) cuatro salidas Cuatro entradas (impares) cuatro salidas (pares)(pares)

Comparte función con los puertos serieComparte función con los puertos serie

Page 7: Puertos I/O

Puerto DPuerto D

• Se puede programar cada línea como Se puede programar cada línea como entrada o salidaentrada o salida

• Pueden funcionar en drenador abierto o Pueden funcionar en drenador abierto o como salidas normalescomo salidas normales

• Pueden sincronizarse las salidas con un Pueden sincronizarse las salidas con un timertimer

• Pines 4,5,6 y 7 pueden funcionar como Pines 4,5,6 y 7 pueden funcionar como puertos serie (B y A)puertos serie (B y A)

Page 8: Puertos I/O

Puerto DPuerto D

Page 9: Puertos I/O

Puerto DPuerto D

Page 10: Puertos I/O

Puerto DPuerto D

Page 11: Puertos I/O

Puerto EPuerto E

• Se puede programar cada línea como Se puede programar cada línea como entrada o salidaentrada o salida

• PE7 es el chip select del puerto esclavoPE7 es el chip select del puerto esclavo• Cada linea puede ser un I/O strobe Cada linea puede ser un I/O strobe

(registro de función)(registro de función)• Cuatro líneas pueden pedir interrupción Cuatro líneas pueden pedir interrupción

(PE0, PE1, PE4, PE5)(PE0, PE1, PE4, PE5)• Pueden sincronizarse las salidas con un Pueden sincronizarse las salidas con un

timertimer

Page 12: Puertos I/O

Puerto EPuerto E

Page 13: Puertos I/O

Puerto EPuerto E

Page 14: Puertos I/O
Page 15: Puertos I/O
Page 16: Puertos I/O

Puerto FPuerto F

• Se puede programar cada línea como Se puede programar cada línea como entrada o salidaentrada o salida

• Pueden sincronizarse las salidas con un Pueden sincronizarse las salidas con un timertimer

• Funciones alternativas : salidas PWM, Funciones alternativas : salidas PWM, entradas del encoder en cuadratura, Reloj entradas del encoder en cuadratura, Reloj del puerto serie síncronodel puerto serie síncrono

Page 17: Puertos I/O

Puerto FPuerto F

Page 18: Puertos I/O

Puerto GPuerto G

• Se puede programar cada línea como Se puede programar cada línea como entrada o salidaentrada o salida

• Pueden sincronizarse las salidas con un Pueden sincronizarse las salidas con un timertimer

• Funciones alternativas : puerto serie Funciones alternativas : puerto serie síncronosíncrono

Page 19: Puertos I/O

Puerto GPuerto G

Page 20: Puertos I/O

Funciones para escribir en Funciones para escribir en registrosregistros

BitRdPortI <SYSIO.LIB>

SYNTAX: int BitRdPortI(int PORT, int bitnumber);

KEYWORDS: parallel port

PARAMETER1: address of internal I/O port.

PARAMETER2: bit (0-7) to read value from.

DESCRIPTION: Returns 1 or 0 matching the value of the bit readfrom the specified internal I/O port.All of the Rabbit internal registers have predefined macroscorresponding to the register's name. PADR is #defined to be0x30, etc.

RETURN VALUE: Returns an integer equal to 1 or 0.

Page 21: Puertos I/O

Funciones para escribir en Funciones para escribir en registrosregistros

RdPortI <SYSIO.LIB>

SYNTAX: int RdPortI(int PORT);

KEYWORDS: parallel port

PARAMETER1: address of internal I/O port.

DESCRIPTION: Reads an internal I/O port specified by theargument (use RdPortE for external port.)All of the Rabbit internal registers have predefined macroscorresponding to the register's name. PADR is #defined to be0x30, etc.

RETURN VALUE: Returns an integer, the lower 8 bits of whichcontain the the result of reading the port specified by thefirst argument.

Page 22: Puertos I/O

Funciones para escribir en Funciones para escribir en registrosregistros

BitWrPortI <SYSIO.LIB>

SYNTAX: void BitWrPortI(int PORT, char *PORTShadow, int value, int bitcode);

KEYWORDS: parallel portPARAMETER1: address of internal I/O port.PARAMETER2: address of variable shadowing current value of port.PARAMETER3: value to write to port.PARAMETER4: bit (0-7) to write value to.

DESCRIPTION: Updates shadow register at bit with value (0 or 1) andcopies shadow to I/O port. WARNING: a shadow register is REQUIREDfor this function.All of the Rabbit internal registers have predefined macroscorresponding to the register's name. PADR is #defined to be0x30, etc.

RETURN VALUE: None

Page 23: Puertos I/O

Funciones para escribir en Funciones para escribir en registrosregistros

WrPortI <SYSIO.LIB>

SYNTAX: void WrPortI(int PORT, char *PORTShadow, int data_value);

KEYWORDS: parallel port

PARAMETER1: address of internal I/O port.PARAMETER2: address of variable shadowing current value of port.PARAMETER3: value to write to port.

DESCRIPTION: Writes an internal I/O port with 8 bits andupdates shadow for that port. The variable names must be of form"Port" and "PORTShadow" for most efficient operation. A nullpointer may be substited (use "NULL") if shadow support is notdesired or needed.All of the Rabbit internal registers have predefined macroscorresponding to the register's name. PADR is #defined to be0x30, etc.

RETURN VALUE: none

Page 24: Puertos I/O

EjemplosEjemplos

Configurar PF4 como salida:

BitWrPortI(PFDDR, &PFDDRShadow,1, 4);

Poner PF4 a 1: BitWrPortI(PFDR, &PFDRShadow,1, 4);