Instrucciones Seleccionadas del Compilador CCS C para PIC ...

instead of a constant will take much longer time. Returns: Undefined. Function: Sets a given pin to the high state. The method of I/O used is dependent on the last ...
164KB Größe 16 Downloads 47 vistas
UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL TUCUMÁN Departamento: ELECTRÓNICA Carrera: Ingeniería Electrónica – Ciclo 2014/15 Cátedra: INFORMÁTICA II

Introducción a Programación de MCU – CCS C Compiler

Instrucciones Seleccionadas del Compilador CCS C para PIC. output_high( ) Syntax:

output_high (pin)

Parameters:

Pin to write to. Pins are defined in the devices .h file. The actual value is a bit address. For example, port a (byte 5 ) bit 3 would have a value of 5*8+3 or 43 . This is defined as follows: #DEFINE PIN_A3 43 . The PIN could also be a variable. The variable must have a value equal to one of the constants (like PIN_A1) to work properly. The tristate register is updated unless the FAST_IO mode is set on port A. Note that doing I/O with a variable instead of a constant will take much longer time.

Returns:

Undefined

Function:

Sets a given pin to the high state. The method of I/O used is dependent on the last USE *_IO directive.

Availability:

All devices.

Requires:

Pin constants are defined in the devices .h file

Examples:

output_high(PIN_A0); Int16 i=PIN_A1; output_low(PIN_A1);

output_low( ) Syntax:

output_low (pin)

Parameters:

Pins are defined in the devices .h file. The actual value is a bit address. For example, port a (byte 5 ) bit 3 would have a value of 5*8+3 or 43 . This is defined as follows: #DEFINE PIN_A3 43 . The PIN could also be a variable. The variable must have a value equal to one of the constants (like PIN_A1) to work properly. The tristate register is updated unless the FAST_IO mode is set on port A. Note that doing I/O with a variable instead of a constant will take much longer time.

Returns:

Undefined

Function:

Sets a given pin to the ground state. The method of I/O used is dependent on the last USE *_IO directive.

Availability:

All devices.

Requires:

Pin constants are defined in the devices .h file

Examples:

output_low(PIN_A0); Int16i=PIN_A1; output_low(PIN_A1);

___________________________________________________________________________ Página 1 de 4

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL TUCUMÁN Departamento: ELECTRÓNICA Carrera: Ingeniería Electrónica – Ciclo 2014/15 Cátedra: INFORMÁTICA II

Referencias de instrucciones de CCS C Compiler

output_toggle( ) Syntax:

output_toggle(pin)

Parameters:

Pins are defined in the devices .h file. The actual value is a bit address. For example, port a (byte 5 ) bit 3 would have a value of 5*8+3 or 43 . This is defined as follows: #DEFINE PIN_A3 43 .

Returns:

Undefined

Function:

Toggles the high/low state of the specified pin.

Availability:

All devices.

Requires:

Pin constants are defined in the devices .h file

Examples:

output_toggle(PIN_B4);

output_x( ) Syntax:

output_a (value) output_b (value) output_c (value) output_d (value) output_e (value) output_f (value) output_g (value) output_h (value) output_j (value) output_k (value)

Parameters:

value is a 8 bit int

Returns:

Undefined

Function:

Output an entire byte to a port. The direction register is changed in accordance with the last specified #USE *_IO directive.

Availability:

All devices, however not all devices have all ports (A-E)

Requires:

Nothing

Examples:

OUTPUT_B(0xf0);

___________________________________________________________________________ Página 2 de 4

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL TUCUMÁN Departamento: ELECTRÓNICA Carrera: Ingeniería Electrónica – Ciclo 2014/15 Cátedra: INFORMÁTICA II

Referencias de instrucciones de CCS C Compiler

input( ) Syntax:

value = input (pin)

Parameters:

Pin to read. Pins are defined in the devices .h file. The actual value is a bit address. For example, port a (byte 5 ) bit 3 would have a value of 5*8+3 or 43 . This is defined as follows: #define PIN_A3 43 . The PIN could also be a variable. The variable must have a value equal to one of the constants (like PIN_A1) to work properly. The tristate register is updated unless the FAST_IO mode is set on port A. note that doing I/O with a variable instead of a constant will take much longer time.

Returns:

0 (or FALSE) if the pin is low, 1 (or TRUE) if the pin is high

Function:

This function returns the state of the indicated pin. The method of I/O is dependent on the last USE *_IO directive. By default with standard I/O before the input is done the data direction is set to input.

Availability:

All devices.

Requires:

Pin constants are defined in the devices .h file

Examples:

while ( !input(PIN_B1) ); // waits for B1 to go high

if( input(PIN_A0) ) printf("A0 is now high\r\n");

int16 i=PIN_B1; while(!i); //waits for B1 to go high

input_state( ) Syntax:

value = input_state(pin)

Parameters:

pin to read. Pins are defined in the devices .h file. The actual value is a bit address. For example, port a (byte 5 ) bit 3 would have a value of 5*8+3 or 43 . This is defined as follows: #define PIN_A3 43 .

Returns:

Bit specifying whether pin is high or low. A 1 indicates the pin is high and a 0 indicates it is low.

Function:

This function reads the level of a pin without changing the direction of the pin as INPUT() does.

Availability:

All devices.

Requires:

Nothing

Examples:

level = input_state(pin_A3); printf("level: %d",level);

___________________________________________________________________________ Página 3 de 4

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL TUCUMÁN Departamento: ELECTRÓNICA Carrera: Ingeniería Electrónica – Ciclo 2014/15 Cátedra: INFORMÁTICA II

Referencias de instrucciones de CCS C Compiler

input_x( ) Syntax:

value = input_a() value = input_b() value = input_c() value = input_d() value = input_e() value = input_f() value = input_g() value = input_h() value = input_j() value = input_k()

Parameters:

None

Returns:

An 8 bit int representing the port input data.

Function:

Inputs an entire byte from a port. The direction register is changed in accordance with the last specified #USE *_IO directive. By default with standard I/O before the input is done the data direction is set to input.

Availability:

All devices.

Requires:

Nothing

Examples:

data = input_b();

___________________________________________________________________________ Página 4 de 4