149 lines
5.5 KiB
C
149 lines
5.5 KiB
C
/**
|
|
@Generated Pin Manager Header File
|
|
|
|
@Company:
|
|
Microchip Technology Inc.
|
|
|
|
@File Name:
|
|
pin_manager.h
|
|
|
|
@Summary:
|
|
This is the Pin Manager file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs
|
|
|
|
@Description
|
|
This header file provides APIs for driver for .
|
|
Generation Information :
|
|
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8
|
|
Device : PIC18F26K83
|
|
Driver Version : 2.11
|
|
The generated drivers are tested against the following:
|
|
Compiler : XC8 2.36 and above
|
|
MPLAB : MPLAB X 6.00
|
|
*/
|
|
|
|
/*
|
|
(c) 2018 Microchip Technology Inc. and its subsidiaries.
|
|
|
|
Subject to your compliance with these terms, you may use Microchip software and any
|
|
derivatives exclusively with Microchip products. It is your responsibility to comply with third party
|
|
license terms applicable to your use of third party software (including open source software) that
|
|
may accompany Microchip software.
|
|
|
|
THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
|
|
EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
|
|
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
|
|
FOR A PARTICULAR PURPOSE.
|
|
|
|
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
|
|
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
|
|
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
|
|
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
|
|
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
|
|
CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
|
|
OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
|
|
SOFTWARE.
|
|
*/
|
|
|
|
#ifndef PIN_MANAGER_H
|
|
#define PIN_MANAGER_H
|
|
|
|
/**
|
|
Section: Included Files
|
|
*/
|
|
|
|
#include <xc.h>
|
|
|
|
#define INPUT 1
|
|
#define OUTPUT 0
|
|
|
|
#define HIGH 1
|
|
#define LOW 0
|
|
|
|
#define ANALOG 1
|
|
#define DIGITAL 0
|
|
|
|
#define PULL_UP_ENABLED 1
|
|
#define PULL_UP_DISABLED 0
|
|
|
|
// get/set IO_RA7 aliases
|
|
#define IO_RA7_TRIS TRISAbits.TRISA7
|
|
#define IO_RA7_LAT LATAbits.LATA7
|
|
#define IO_RA7_PORT PORTAbits.RA7
|
|
#define IO_RA7_WPU WPUAbits.WPUA7
|
|
#define IO_RA7_OD ODCONAbits.ODCA7
|
|
#define IO_RA7_ANS ANSELAbits.ANSELA7
|
|
#define IO_RA7_SetHigh() do { LATAbits.LATA7 = 1; } while(0)
|
|
#define IO_RA7_SetLow() do { LATAbits.LATA7 = 0; } while(0)
|
|
#define IO_RA7_Toggle() do { LATAbits.LATA7 = ~LATAbits.LATA7; } while(0)
|
|
#define IO_RA7_GetValue() PORTAbits.RA7
|
|
#define IO_RA7_SetDigitalInput() do { TRISAbits.TRISA7 = 1; } while(0)
|
|
#define IO_RA7_SetDigitalOutput() do { TRISAbits.TRISA7 = 0; } while(0)
|
|
#define IO_RA7_SetPullup() do { WPUAbits.WPUA7 = 1; } while(0)
|
|
#define IO_RA7_ResetPullup() do { WPUAbits.WPUA7 = 0; } while(0)
|
|
#define IO_RA7_SetPushPull() do { ODCONAbits.ODCA7 = 0; } while(0)
|
|
#define IO_RA7_SetOpenDrain() do { ODCONAbits.ODCA7 = 1; } while(0)
|
|
#define IO_RA7_SetAnalogMode() do { ANSELAbits.ANSELA7 = 1; } while(0)
|
|
#define IO_RA7_SetDigitalMode() do { ANSELAbits.ANSELA7 = 0; } while(0)
|
|
|
|
// get/set IO_RB0 aliases
|
|
#define IO_RB0_TRIS TRISBbits.TRISB0
|
|
#define IO_RB0_LAT LATBbits.LATB0
|
|
#define IO_RB0_PORT PORTBbits.RB0
|
|
#define IO_RB0_WPU WPUBbits.WPUB0
|
|
#define IO_RB0_OD ODCONBbits.ODCB0
|
|
#define IO_RB0_ANS ANSELBbits.ANSELB0
|
|
#define IO_RB0_SetHigh() do { LATBbits.LATB0 = 1; } while(0)
|
|
#define IO_RB0_SetLow() do { LATBbits.LATB0 = 0; } while(0)
|
|
#define IO_RB0_Toggle() do { LATBbits.LATB0 = ~LATBbits.LATB0; } while(0)
|
|
#define IO_RB0_GetValue() PORTBbits.RB0
|
|
#define IO_RB0_SetDigitalInput() do { TRISBbits.TRISB0 = 1; } while(0)
|
|
#define IO_RB0_SetDigitalOutput() do { TRISBbits.TRISB0 = 0; } while(0)
|
|
#define IO_RB0_SetPullup() do { WPUBbits.WPUB0 = 1; } while(0)
|
|
#define IO_RB0_ResetPullup() do { WPUBbits.WPUB0 = 0; } while(0)
|
|
#define IO_RB0_SetPushPull() do { ODCONBbits.ODCB0 = 0; } while(0)
|
|
#define IO_RB0_SetOpenDrain() do { ODCONBbits.ODCB0 = 1; } while(0)
|
|
#define IO_RB0_SetAnalogMode() do { ANSELBbits.ANSELB0 = 1; } while(0)
|
|
#define IO_RB0_SetDigitalMode() do { ANSELBbits.ANSELB0 = 0; } while(0)
|
|
|
|
// get/set RB3 procedures
|
|
#define RB3_SetHigh() do { LATBbits.LATB3 = 1; } while(0)
|
|
#define RB3_SetLow() do { LATBbits.LATB3 = 0; } while(0)
|
|
#define RB3_Toggle() do { LATBbits.LATB3 = ~LATBbits.LATB3; } while(0)
|
|
#define RB3_GetValue() PORTBbits.RB3
|
|
#define RB3_SetDigitalInput() do { TRISBbits.TRISB3 = 1; } while(0)
|
|
#define RB3_SetDigitalOutput() do { TRISBbits.TRISB3 = 0; } while(0)
|
|
#define RB3_SetPullup() do { WPUBbits.WPUB3 = 1; } while(0)
|
|
#define RB3_ResetPullup() do { WPUBbits.WPUB3 = 0; } while(0)
|
|
#define RB3_SetAnalogMode() do { ANSELBbits.ANSELB3 = 1; } while(0)
|
|
#define RB3_SetDigitalMode() do { ANSELBbits.ANSELB3 = 0; } while(0)
|
|
|
|
/**
|
|
@Param
|
|
none
|
|
@Returns
|
|
none
|
|
@Description
|
|
GPIO and peripheral I/O initialization
|
|
@Example
|
|
PIN_MANAGER_Initialize();
|
|
*/
|
|
void PIN_MANAGER_Initialize (void);
|
|
|
|
/**
|
|
* @Param
|
|
none
|
|
* @Returns
|
|
none
|
|
* @Description
|
|
Interrupt on Change Handling routine
|
|
* @Example
|
|
PIN_MANAGER_IOC();
|
|
*/
|
|
void PIN_MANAGER_IOC(void);
|
|
|
|
|
|
|
|
#endif // PIN_MANAGER_H
|
|
/**
|
|
End of File
|
|
*/ |