PIC18 LaurTec Library
3.3.1
Open Source C Library for PIC18 Microcontrollers based on C18 - XC8 Compilers
|
#include "MCP2300x.h"
Go to the source code of this file.
Functions | |
void | MCP2300x_initialize (unsigned char crystal_frequency_MHz, unsigned int baud_rate_KHz) |
signed char | MCP2300x_set_register (unsigned char device_address, unsigned char register_add, unsigned char data) |
unsigned char | MCP2300x_get_register (unsigned char device_address, unsigned char register_add) |
signed char | MCP2300x_set_port_direction (unsigned char device_address, unsigned char direction) |
signed char | MCP2300x_set_port_value (unsigned char device_address, unsigned char value) |
signed char | MCP2300x_set_port_polarity (unsigned char device_address, unsigned char value) |
signed char | MCP2300x_set_port_pull_up_resistor (unsigned char device_address, unsigned char value) |
unsigned char | MCP2300x_get_port_value (unsigned char device_address) |
signed char | MCP2300x_set_port_interrupt (unsigned char device_address, unsigned char value) |
signed char | MCP2300x_set_port_configuration (unsigned char device_address, unsigned char value) |
signed char | MCP2300x_set_interrupt_compare_value (unsigned char device_address, unsigned char value) |
signed char | MCP2300x_set_interrupt_compare_enable (unsigned char device_address, unsigned char value) |
unsigned char | MCP2300x_get_port_interrupt_flag (unsigned char device_address) |
unsigned char | MCP2300x_get_port_interrupt_capture (unsigned char device_address) |
unsigned char MCP2300x_get_port_interrupt_capture | ( | unsigned char | device_address | ) |
This function reads from the INTCAP register, enabling the read of the pin flags that caused the interrupt. In particular INTCAP register it captures the value at the time of the interrupt so it may differ from the value of INTF register.
device_address | Hardware Address of the device (A0, A1, A2 only) [min: 0, max: 7]. |
Definition at line 183 of file MCP2300x.c.
References get_register_MCP2300x, and MCP2300x_INTCAP.
unsigned char MCP2300x_get_port_interrupt_flag | ( | unsigned char | device_address | ) |
This function reads from the INTF register, enabling the read of the pin flags that caused the interrupt.
device_address | Hardware Address of the device (A0, A1, A2 only) [min: 0, max: 7]. |
Definition at line 174 of file MCP2300x.c.
References get_register_MCP2300x, and MCP2300x_INTF.
unsigned char MCP2300x_get_port_value | ( | unsigned char | device_address | ) |
This function reads from the GPIO register, which is equivalent to read the value of the external pins.
device_address | Hardware Address of the device (A0, A1, A2 only) [min: 0, max: 7]. |
Definition at line 123 of file MCP2300x.c.
References get_register_MCP2300x, and MCP2300x_GPIO.
unsigned char MCP2300x_get_register | ( | unsigned char | device_address, |
unsigned char | register_add | ||
) |
This function reads from any register of the MCP2300x device.
device_address | Hardware Address of the device (A0, A1, A2 only) [min: 0, max: 7]. |
register_add | Address of the register that must be written. |
Definition at line 75 of file MCP2300x.c.
References INTERNAL_ADDRESS.
void MCP2300x_initialize | ( | unsigned char | crystal_frequency_MHz, |
unsigned int | baud_rate_KHz | ||
) |
This function initialize the I2C module accordingly to the clock and baud rate.
crystal_frequency_MHz | Clock frequency expressed in MHz |
baud_rate_KHz | Baud rate expressed in KHz |
Definition at line 49 of file MCP2300x.c.
signed char MCP2300x_set_interrupt_compare_enable | ( | unsigned char | device_address, |
unsigned char | value | ||
) |
This function writes into INTCON register, which is equivalent to select the interrupt modality. A zero sets an interrupt on pin change, while a 1 enable the comparison with the DEFVAL Register.
device_address | Hardware Address of the device (A0, A1, A2 only) [min: 0, max: 7]. |
value | Value that enables the pins where the comparison must be activated. |
Definition at line 165 of file MCP2300x.c.
References MCP2300x_INTCON, and set_register_MCP2300x.
signed char MCP2300x_set_interrupt_compare_value | ( | unsigned char | device_address, |
unsigned char | value | ||
) |
This function writes into DEFVAL register, which is equivalent to set the value for the interrupt comparison. If bit 2 is set to 1 a 0 into pin 2 will trigger the interrupt.
device_address | Hardware Address of the device (A0, A1, A2 only) [min: 0, max: 7]. |
value | Byte that reflects the value of interest to be used for the comparison. |
Definition at line 156 of file MCP2300x.c.
References MCP2300x_DEFVAL, and set_register_MCP2300x.
signed char MCP2300x_set_port_configuration | ( | unsigned char | device_address, |
unsigned char | value | ||
) |
This function writes into IOCON register, enabling some internal configurations. SEQOP, DISSLW, ODR, INTPOL
device_address | Hardware Address of the device (A0, A1, A2 only) [min: 0, max: 7]. |
value | Value that reflects the pins where the comparison must be enabled. |
Definition at line 149 of file MCP2300x.c.
References MCP2300x_IOCON, and set_register_MCP2300x.
signed char MCP2300x_set_port_direction | ( | unsigned char | device_address, |
unsigned char | direction | ||
) |
This function writes into IODIR register, defining the direction of the pin. A 1 in a bit is equivalent to set the corresponding pin as input, while a 0 sets it to Output.
device_address | Hardware Address of the device (A0, A1, A2 only) [min: 0, max: 7]. |
direction | Value that defines the direction of each pin. |
Definition at line 87 of file MCP2300x.c.
References MCP2300x_IODIR, and set_register_MCP2300x.
signed char MCP2300x_set_port_interrupt | ( | unsigned char | device_address, |
unsigned char | value | ||
) |
This function writes into GPINTEN register, which is equivalent to activate the interrupts. A bit set to 1 enables the interrupt to the corresponding pin. This option affects only pins that are set as inputs.
device_address | Hardware Address of the device (A0, A1, A2 only) [min: 0, max: 7]. |
value | Value to enable the pins where the interrupt must be activated. |
Definition at line 133 of file MCP2300x.c.
References get_register_MCP2300x, MCP2300x_GPINTEN, MCP2300x_GPIO, and set_register_MCP2300x.
signed char MCP2300x_set_port_polarity | ( | unsigned char | device_address, |
unsigned char | value | ||
) |
This function writes into IPOL register, which defines the polarity of the input pins.
device_address | Hardware Address of the device (A0, A1, A2 only) [min: 0, max: 7]. |
value | The value sets the corresponding pin with an inverting value (input only). |
Definition at line 105 of file MCP2300x.c.
References MCP2300x_IPOL, and set_register_MCP2300x.
signed char MCP2300x_set_port_pull_up_resistor | ( | unsigned char | device_address, |
unsigned char | value | ||
) |
This function writes into GPPU register, which is equivalent to activate the pull-up resistor. A bit set to 1 enables the pull-up resistor to the corresponding pin. This option affect only the pins that are set as inputs.
device_address | Hardware Address of the device (A0, A1, A2 only) [min: 0, max: 7]. |
value | Value to enable the pins where the pull-up resistor must be activated. |
Definition at line 114 of file MCP2300x.c.
References MCP2300x_GPPU, and set_register_MCP2300x.
signed char MCP2300x_set_port_value | ( | unsigned char | device_address, |
unsigned char | value | ||
) |
This function writes into the GPIO register, which is equivalent to write to the output port.
device_address | Hardware Address of the device (A0, A1, A2 only) [min: 0, max: 7]. |
value | Value that must be written to the output port. |
Definition at line 96 of file MCP2300x.c.
References MCP2300x_GPIO, and set_register_MCP2300x.
signed char MCP2300x_set_register | ( | unsigned char | device_address, |
unsigned char | register_add, | ||
unsigned char | data | ||
) |
This function writes into any register of the MCP2300x device.
device_address | Hardware Address of the device (A0, A1, A2 only) [min: 0, max: 7]. |
register_add | Address of the register that must be written. |
data | Data that must be written into the register. |
Definition at line 60 of file MCP2300x.c.
References INTERNAL_ADDRESS.