99 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /**
 | |
|   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"
 | |
| 
 | |
| #define MAX_COL 16
 | |
| /*
 | |
|                          Main application
 | |
|  */
 | |
| void main(void)
 | |
| {
 | |
|     // Initialize the device
 | |
|     SYSTEM_Initialize();
 | |
|     EPWM1_LoadDutyValue(0);
 | |
|     
 | |
|     Lcd_Init(); 
 | |
|     adc_init();
 | |
|     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;
 | |
|     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);
 | |
|         
 | |
|     }   
 | |
| }
 | |
| /**
 | |
|  End of File
 | |
| */ |