i don't understand why it's not commit in MPLAB
This commit is contained in:
		
							
								
								
									
										167
									
								
								solar_panel.X/mcc_generated_files/tmr0.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										167
									
								
								solar_panel.X/mcc_generated_files/tmr0.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,167 @@ | ||||
| /** | ||||
|   TMR0 Generated Driver File | ||||
|  | ||||
|   @Company | ||||
|     Microchip Technology Inc. | ||||
|  | ||||
|   @File Name | ||||
|     tmr0.c | ||||
|  | ||||
|   @Summary | ||||
|     This is the generated driver implementation file for the TMR0 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs | ||||
|  | ||||
|   @Description | ||||
|     This source file provides APIs for TMR0. | ||||
|     Generation Information : | ||||
|         Product Revision  :  PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 | ||||
|         Device            :  PIC18F97J60 | ||||
|         Driver Version    :  2.01 | ||||
|     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. | ||||
| */ | ||||
|  | ||||
| /** | ||||
|   Section: Included Files | ||||
| */ | ||||
|  | ||||
| #include <xc.h> | ||||
| #include "tmr0.h" | ||||
|  | ||||
| /** | ||||
|   Section: Global Variables Definitions | ||||
| */ | ||||
|  | ||||
| void (*TMR0_InterruptHandler)(void); | ||||
|  | ||||
| volatile uint16_t timer0ReloadVal; | ||||
|  | ||||
| /** | ||||
|   Section: TMR0 APIs | ||||
| */ | ||||
|  | ||||
|  | ||||
| void TMR0_Initialize(void) | ||||
| { | ||||
|     // Set TMR0 to the options selected in the User Interface | ||||
|  | ||||
|     //Enable 16bit timer mode before assigning value to TMR0H | ||||
|     T0CONbits.T08BIT = 0; | ||||
|  | ||||
|     // TMR0H 255;  | ||||
|     TMR0H = 0xFF; | ||||
|  | ||||
|     // TMR0L 252;  | ||||
|     TMR0L = 0xFC; | ||||
|  | ||||
| 	 | ||||
|     // Load TMR0 value to the 16-bit reload variable | ||||
|     timer0ReloadVal = (uint16_t)((TMR0H << 8) | TMR0L); | ||||
|  | ||||
|     // Clear Interrupt flag before enabling the interrupt | ||||
|     INTCONbits.TMR0IF = 0; | ||||
|  | ||||
|     // Enabling TMR0 interrupt. | ||||
|     INTCONbits.TMR0IE = 1; | ||||
|  | ||||
|     // Set Default Interrupt Handler | ||||
|     TMR0_SetInterruptHandler(TMR0_DefaultInterruptHandler); | ||||
|  | ||||
|     // T0PS 1:2; T08BIT 16-bit; T0SE Increment_hi_lo; T0CS T0CKI; TMR0ON enabled; PSA not_assigned;  | ||||
|     T0CON = 0xB8; | ||||
| } | ||||
|  | ||||
| void TMR0_StartTimer(void) | ||||
| { | ||||
|     // Start the Timer by writing to TMR0ON bit | ||||
|     T0CONbits.TMR0ON = 1; | ||||
| } | ||||
|  | ||||
| void TMR0_StopTimer(void) | ||||
| { | ||||
|     // Stop the Timer by writing to TMR0ON bit | ||||
|     T0CONbits.TMR0ON = 0; | ||||
| } | ||||
|  | ||||
| uint16_t TMR0_ReadTimer(void) | ||||
| { | ||||
|     uint16_t readVal; | ||||
|     uint8_t readValLow; | ||||
|     uint8_t readValHigh; | ||||
|  | ||||
|     readValLow  = TMR0L; | ||||
|     readValHigh = TMR0H; | ||||
|     readVal  = ((uint16_t)readValHigh << 8) + readValLow; | ||||
|  | ||||
|     return readVal; | ||||
| } | ||||
|  | ||||
| void TMR0_WriteTimer(uint16_t timerVal) | ||||
| { | ||||
|     // Write to the Timer0 register | ||||
|     TMR0H = timerVal >> 8; | ||||
|     TMR0L = (uint8_t) timerVal; | ||||
| } | ||||
|  | ||||
| void TMR0_Reload(void) | ||||
| { | ||||
|     // Write to the Timer0 register | ||||
|     TMR0H = timer0ReloadVal >> 8; | ||||
|     TMR0L = (uint8_t) timer0ReloadVal; | ||||
| } | ||||
|  | ||||
| void TMR0_ISR(void) | ||||
| { | ||||
|  | ||||
|     // clear the TMR0 interrupt flag | ||||
|     INTCONbits.TMR0IF = 0; | ||||
|  | ||||
|     // reload TMR0 | ||||
|     // Write to the Timer0 register | ||||
|     TMR0H = timer0ReloadVal >> 8; | ||||
|     TMR0L = (uint8_t) timer0ReloadVal; | ||||
|  | ||||
|     if(TMR0_InterruptHandler) | ||||
|     { | ||||
|         TMR0_InterruptHandler(); | ||||
|     } | ||||
|  | ||||
|     // add your TMR0 interrupt custom code | ||||
| } | ||||
|  | ||||
|  | ||||
| void TMR0_SetInterruptHandler(void (* InterruptHandler)(void)){ | ||||
|     TMR0_InterruptHandler = InterruptHandler; | ||||
| } | ||||
|  | ||||
| void TMR0_DefaultInterruptHandler(void){ | ||||
|     // add your TMR0 interrupt custom code | ||||
|     // or set custom function using TMR0_SetInterruptHandler() | ||||
| } | ||||
|  | ||||
| /** | ||||
|   End of File | ||||
| */ | ||||
		Reference in New Issue
	
	Block a user