2023-08-22 07:22:00 +00:00
|
|
|
/**
|
|
|
|
@Generated PIC10 / PIC12 / PIC16 / PIC18 MCUs Source File
|
|
|
|
|
|
|
|
@Company:
|
|
|
|
Microchip Technology Inc.
|
|
|
|
|
|
|
|
@File Name:
|
|
|
|
mcc.c
|
|
|
|
|
|
|
|
@Summary:
|
|
|
|
This is the mcc.c file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs
|
|
|
|
|
|
|
|
@Description:
|
|
|
|
This header file provides implementations for driver APIs for all modules selected in the GUI.
|
|
|
|
Generation Information :
|
|
|
|
Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8
|
2023-08-28 15:36:18 +00:00
|
|
|
Device : PIC18F26K83
|
2023-08-22 07:22:00 +00:00
|
|
|
Driver Version : 2.00
|
|
|
|
The generated drivers are tested against the following:
|
|
|
|
Compiler : XC8 2.36 and above or later
|
|
|
|
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.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "mcc.h"
|
|
|
|
|
|
|
|
|
|
|
|
void SYSTEM_Initialize(void)
|
|
|
|
{
|
|
|
|
INTERRUPT_Initialize();
|
|
|
|
PMD_Initialize();
|
|
|
|
PIN_MANAGER_Initialize();
|
|
|
|
OSCILLATOR_Initialize();
|
2023-09-05 09:06:23 +00:00
|
|
|
WWDT_Initialize();
|
2023-08-22 07:22:00 +00:00
|
|
|
TMR0_Initialize();
|
|
|
|
ECAN_Initialize();
|
|
|
|
}
|
|
|
|
|
|
|
|
void OSCILLATOR_Initialize(void)
|
|
|
|
{
|
|
|
|
// NOSC HFINTOSC; NDIV 1;
|
|
|
|
OSCCON1 = 0x60;
|
|
|
|
// CSWHOLD may proceed; SOSCPWR Low power;
|
|
|
|
OSCCON3 = 0x00;
|
|
|
|
// MFOEN disabled; LFOEN disabled; ADOEN disabled; SOSCEN disabled; EXTOEN disabled; HFOEN disabled;
|
|
|
|
OSCEN = 0x00;
|
|
|
|
// HFFRQ 64_MHz;
|
|
|
|
OSCFRQ = 0x08;
|
|
|
|
// TUN 0;
|
|
|
|
OSCTUNE = 0x00;
|
|
|
|
}
|
|
|
|
|
|
|
|
void PMD_Initialize(void)
|
|
|
|
{
|
|
|
|
// CLKRMD CLKR enabled; SYSCMD SYSCLK enabled; SCANMD SCANNER enabled; FVRMD FVR enabled; IOCMD IOC enabled; CRCMD CRC enabled; HLVDMD HLVD enabled; NVMMD NVM enabled;
|
|
|
|
PMD0 = 0x00;
|
|
|
|
// NCO1MD DDS(NCO1) enabled; TMR0MD TMR0 enabled; TMR1MD TMR1 enabled; TMR4MD TMR4 enabled; TMR5MD TMR5 enabled; TMR2MD TMR2 enabled; TMR3MD TMR3 enabled; TMR6MD TMR6 enabled;
|
|
|
|
PMD1 = 0x00;
|
|
|
|
// ZCDMD ZCD enabled; DACMD DAC enabled; CMP1MD CMP1 enabled; ADCMD ADC enabled; CMP2MD CMP2 enabled;
|
|
|
|
PMD2 = 0x00;
|
|
|
|
// CCP2MD CCP2 enabled; CCP1MD CCP1 enabled; CCP4MD CCP4 enabled; CCP3MD CCP3 enabled; PWM6MD PWM6 enabled; PWM5MD PWM5 enabled; PWM8MD PWM8 enabled; PWM7MD PWM7 enabled;
|
|
|
|
PMD3 = 0x00;
|
|
|
|
// CWG3MD CWG3 enabled; CWG2MD CWG2 enabled; CWG1MD CWG1 enabled;
|
|
|
|
PMD4 = 0x00;
|
|
|
|
// U2MD UART2 enabled; U1MD UART1 enabled; SPI1MD SPI1 enabled; I2C2MD I2C2 enabled; I2C1MD I2C1 enabled;
|
|
|
|
PMD5 = 0x00;
|
|
|
|
// DSMMD DSM1 enabled; CLC3MD CLC3 enabled; CLC4MD CLC4 enabled; SMT1MD SMT1 enabled; SMT2MD SMT2 enabled; CLC1MD CLC1 enabled; CLC2MD CLC2 enabled;
|
|
|
|
PMD6 = 0x00;
|
|
|
|
// DMA1MD DMA1 enabled; DMA2MD DMA2 enabled;
|
|
|
|
PMD7 = 0x00;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2023-09-05 09:06:23 +00:00
|
|
|
void WWDT_Initialize(void)
|
|
|
|
{
|
|
|
|
// Initializes the WWDT to the default states configured in the MCC GUI
|
|
|
|
WDTCON0 = WDTCPS;
|
|
|
|
WDTCON1 = WDTCWS|WDTCCS;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
void WWDT_SoftEnable(void)
|
|
|
|
{
|
|
|
|
// WWDT software enable.
|
|
|
|
WDTCON0bits.SEN=1;
|
|
|
|
}
|
|
|
|
|
|
|
|
void WWDT_SoftDisable(void)
|
|
|
|
{
|
|
|
|
// WWDT software disable.
|
|
|
|
WDTCON0bits.SEN=0;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool WWDT_TimeOutStatusGet(void)
|
|
|
|
{
|
|
|
|
// Return the status of WWDT time out reset.
|
|
|
|
return (PCON0bits.nRWDT);
|
|
|
|
}
|
|
|
|
|
|
|
|
bool WWDT_WindowViolationStatusGet(void)
|
|
|
|
{
|
|
|
|
// Return the status of WWDT window violation reset.
|
|
|
|
return (PCON0bits.nWDTWV);
|
|
|
|
}
|
|
|
|
|
|
|
|
void WWDT_TimerClear(void)
|
|
|
|
{
|
|
|
|
// Disable the interrupt,read back the WDTCON0 reg for arming,
|
|
|
|
// clearing the WWDT and enable the interrupt.
|
|
|
|
uint8_t readBack=0;
|
|
|
|
|
|
|
|
bool state = GIE;
|
|
|
|
GIE = 0;
|
|
|
|
readBack = WDTCON0;
|
|
|
|
CLRWDT();
|
|
|
|
GIE = state;
|
|
|
|
}
|
2023-08-22 07:22:00 +00:00
|
|
|
/**
|
|
|
|
End of File
|
|
|
|
*/
|