57,10 → 57,10 |
#include "91x_lib.h" |
#include "uart1.h" |
#include "analog.h" |
#include "timer1.h" |
#include "config.h" |
|
AnalogData_t AnalogData; |
u8 ADReady = 0; |
|
void ADC_IRQHandler(void) |
{ |
75,7 → 75,6 |
AnalogData.Ch7 = ADC_GetConversionValue(ADC_Channel_7); |
DebugOut.Analog[4] = AnalogData.Ch1; |
ADC_ClearFlag(ADC_FLAG_ECV); |
ADReady = 1; |
} |
VIC0->VAR = 0xFF; |
} |
116,11 → 115,7 |
|
ADC_PrescalerConfig(255); // PCLK/255 (24MHz/255 = 94.1kHZ ) |
ADC_ITConfig(ADC_IT_ECV, ENABLE); // enable end of conversion IRQ |
|
// initiate first update |
ADReady = 0; |
ADC_ConversionCmd(ADC_Conversion_Start); |
|
|
VIC_Config(ADC_ITLine, VIC_IRQ, PRIORITY_ADC); |
VIC_ITCmd(ADC_ITLine, ENABLE); |
|
138,7 → 133,11 |
|
void Analog_Update(void) |
{ |
if(!ADReady) return; |
ADReady = 0; |
ADC_ConversionCmd(ADC_Conversion_Start); |
static u32 AnalogTimer = 0; |
|
if(CheckDelay(AnalogTimer)) |
{ |
AnalogTimer = SetDelay(25); |
ADC_ConversionCmd(ADC_Conversion_Start); |
} |
} |