/** TMR0 Generated Driver API Header File @Company Microchip Technology Inc. @File Name tmr0.h @Summary This is the generated header file for the TMR0 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs @Description This header file provides APIs for TMR0. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F26K83 Driver Version : 3.10 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 TMR0_H #define TMR0_H /** Section: Included Files */ #include #include #ifdef __cplusplus // Provide C++ Compatibility extern "C" { #endif /** Section: TMR0 APIs */ /** @Summary Initializes the TMR0. @Description This function initializes the TMR0 Registers. This function must be called before any other TMR0 function is called. @Preconditions None @Param None @Returns None @Comment @Example main() { // Initialize TMR0 module TMR0_Initialize(); // Do something else... } */ void TMR0_Initialize(void); /** @Summary This function starts the TMR0. @Description This function starts the TMR0 operation. This function must be called after the initialization of TMR0. @Preconditions Initialize the TMR0 before calling this function. @Param None @Returns None @Example // Initialize TMR0 module // Start TMR0 TMR0_StartTimer(); // Do something else... */ void TMR0_StartTimer(void); /** @Summary This function stops the TMR0. @Description This function stops the TMR0 operation. This function must be called after the start of TMR0. @Preconditions Initialize the TMR0 before calling this function. @Param None @Returns None @Example // Initialize TMR0 module // Start TMR0 TMR0_StartTimer(); // Do something else... // Stop TMR0; TMR0_StopTimer(); */ void TMR0_StopTimer(void); /** @Summary Reads the 8 bits TMR0 register value. @Description This function reads the 8 bits TMR0 register value and return it. @Preconditions Initialize the TMR0 before calling this function. @Param None @Returns This function returns the 8 bits value of TMR0 register. @Example // Initialize TMR0 module // Start TMR0 TMR0_StartTimer(); // Read the current value of TMR0 if(0 == TMR0_ReadTimer()) { // Do something else... // Stop TMR0; TMR0_StopTimer(); } */ uint8_t TMR0_ReadTimer(void); /** @Summary Writes the 8 bits value to TMR0 register. @Description This function writes the 8 bits value to TMR0 register. This function must be called after the initialization of TMR0. @Preconditions Initialize the TMR0 before calling this function. @Param timerVal - Value to write into TMR0 register. @Returns None @Example #define PERIOD 0x80 #define ZERO 0x00 while(1) { // Read the TMR0 register if(ZERO == TMR0_ReadTimer()) { // Do something else... // Write the TMR0 register TMR0_WriteTimer(PERIOD); } // Do something else... } */ void TMR0_WriteTimer(uint8_t timerVal); /** @Summary Load value to Period Register. @Description This function writes the value to TMR0H register. This function must be called after the initialization of TMR0. @Preconditions Initialize the TMR0 before calling this function. @Param periodVal - Value to load into TMR0 register. @Returns None @Example while(1) { if(TMR0IF) { // Do something else... // clear the TMR0 interrupt flag TMR0IF = 0; // Change the period value of TMR0 TMR0_Reload(0x80); } } */ void TMR0_Reload(uint8_t periodVal); /** @Summary Timer Interrupt Service Routine @Description Timer Interrupt Service Routine is called by the Interrupt Manager. @Preconditions Initialize the TMR0 module with interrupt before calling this isr. @Param None @Returns None */ void TMR0_ISR(void); /** @Summary Set Timer Interrupt Handler @Description This sets the function to be called during the ISR @Preconditions Initialize the TMR0 module with interrupt before calling this. @Param Address of function to be set @Returns None */ void TMR0_SetInterruptHandler(void (* InterruptHandler)(void)); /** @Summary Timer Interrupt Handler @Description This is a function pointer to the function that will be called during the ISR @Preconditions Initialize the TMR0 module with interrupt before calling this isr. @Param None @Returns None */ extern void (*TMR0_InterruptHandler)(void); /** @Summary Default Timer Interrupt Handler @Description This is the default Interrupt Handler function @Preconditions Initialize the TMR0 module with interrupt before calling this isr. @Param None @Returns None */ void TMR0_DefaultInterruptHandler(void); #ifdef __cplusplus // Provide C++ Compatibility } #endif #endif // TMR0_H /** End of File */