migration
This commit is contained in:
parent
87aa31868a
commit
a5315c03a7
120
main.c
Normal file
120
main.c
Normal file
@ -0,0 +1,120 @@
|
||||
/**
|
||||
Generated Main Source File
|
||||
|
||||
Company:
|
||||
Microchip Technology Inc.
|
||||
|
||||
File Name:
|
||||
main.c
|
||||
|
||||
Summary:
|
||||
This is the main 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
|
||||
Device : PIC18F97J60
|
||||
Driver Version : 2.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_generated_files/mcc.h"
|
||||
#include "lcd/lcd.h"
|
||||
#include "measure.h"
|
||||
#include "modbus.h"
|
||||
|
||||
#define MAX_COL 16
|
||||
/*
|
||||
Main application
|
||||
*/
|
||||
void resetTMR0(void);
|
||||
void endFrame(void);
|
||||
|
||||
void main(void)
|
||||
{
|
||||
// Initialize the device
|
||||
SYSTEM_Initialize();
|
||||
EPWM1_LoadDutyValue(0);
|
||||
|
||||
Lcd_Init();
|
||||
adc_init();
|
||||
modbus_init(0x80);
|
||||
uint16_t offsetCurrent = 0;
|
||||
offsetCurrent = measure_current(offsetCurrent);
|
||||
|
||||
// If using interrupts in PIC18 High/Low Priority Mode you need to enable the Global High and Low Interrupts
|
||||
// If using interrupts in PIC Mid-Range Compatibility Mode you need to enable the Global and Peripheral Interrupts
|
||||
// Use the following macros to:
|
||||
|
||||
// Enable the Global Interrupts
|
||||
INTERRUPT_GlobalInterruptEnable();
|
||||
|
||||
// Disable the Global Interrupts
|
||||
//INTERRUPT_GlobalInterruptDisable();
|
||||
|
||||
// Enable the Peripheral Interrupts
|
||||
INTERRUPT_PeripheralInterruptEnable();
|
||||
|
||||
// Disable the Peripheral Interrupts
|
||||
//INTERRUPT_PeripheralInterruptDisable();
|
||||
uint16_t foo = 512;
|
||||
EUSART1_SetRxInterruptHandler(resetTMR0);
|
||||
TMR0_SetInterruptHandler(endFrame);
|
||||
while (1)
|
||||
{
|
||||
foo = ++foo%1023;
|
||||
EPWM1_LoadDutyValue(foo);
|
||||
uint16_t valueV = measure_voltage();
|
||||
uint16_t valueI = measure_current(offsetCurrent);
|
||||
|
||||
char msg[MAX_COL+1];
|
||||
//LCD_2x16_WriteCmd(0x01); // clear display
|
||||
|
||||
sprintf(msg, "U = %04d [mV] ", valueV);
|
||||
LCD_2x16_WriteMsg(msg,0);
|
||||
|
||||
sprintf(msg, "I = %04d [uA] ", valueI);
|
||||
LCD_2x16_WriteMsg(msg,1);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void resetTMR0(void){
|
||||
INTCONbits.TMR0IF = 0;
|
||||
TMR0_Reload();
|
||||
TMR0_StartTimer();
|
||||
}
|
||||
|
||||
void endFrame(void){
|
||||
TMR0_StopTimer();
|
||||
modbus_analyse_and_answer();
|
||||
|
||||
// TODO
|
||||
}
|
||||
/**
|
||||
End of File
|
||||
*/
|
Reference in New Issue
Block a user