This repository has been archived on 2024-01-25. You can view files and clone it, but cannot push or open issues or pull requests.
SummerSchool2-Controller/306-controller_interface.X/mcc_generated_files/pin_manager.h
2023-08-22 09:22:00 +02:00

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
*/