Subversion Repositories NaviCtrl

Rev

Rev 146 | Rev 154 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 146 Rev 147
Line 55... Line 55...
55
// +  POSSIBILITY OF SUCH DAMAGE.
55
// +  POSSIBILITY OF SUCH DAMAGE.
56
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
56
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
57
#include "91x_lib.h"
57
#include "91x_lib.h"
58
#include "uart1.h"
58
#include "uart1.h"
59
#include "analog.h"
59
#include "analog.h"
-
 
60
#include "timer1.h"
60
#include "config.h"
61
#include "config.h"
Line 61... Line 62...
61
 
62
 
62
AnalogData_t AnalogData;
-
 
Line 63... Line 63...
63
u8 ADReady = 0;
63
AnalogData_t AnalogData;
64
 
64
 
65
void ADC_IRQHandler(void)
65
void ADC_IRQHandler(void)
66
{
66
{
Line 73... Line 73...
73
                AnalogData.Ch5 = ADC_GetConversionValue(ADC_Channel_5);
73
                AnalogData.Ch5 = ADC_GetConversionValue(ADC_Channel_5);
74
                AnalogData.Ch6 = ADC_GetConversionValue(ADC_Channel_6);
74
                AnalogData.Ch6 = ADC_GetConversionValue(ADC_Channel_6);
75
                AnalogData.Ch7 = ADC_GetConversionValue(ADC_Channel_7);
75
                AnalogData.Ch7 = ADC_GetConversionValue(ADC_Channel_7);
76
                DebugOut.Analog[4] = AnalogData.Ch1;
76
                DebugOut.Analog[4] = AnalogData.Ch1;
77
                ADC_ClearFlag(ADC_FLAG_ECV);
77
                ADC_ClearFlag(ADC_FLAG_ECV);
78
                ADReady = 1;
-
 
79
        }
78
        }
80
        VIC0->VAR = 0xFF;
79
        VIC0->VAR = 0xFF;
81
}
80
}
Line 82... Line 81...
82
 
81
 
Line 114... Line 113...
114
        ADC_InitStructure.ADC_Conversion_Mode = ADC_Single_Mode;
113
        ADC_InitStructure.ADC_Conversion_Mode = ADC_Single_Mode;
115
        ADC_Init(&ADC_InitStructure);
114
        ADC_Init(&ADC_InitStructure);
Line 116... Line 115...
116
 
115
 
117
        ADC_PrescalerConfig(255);  // PCLK/255  (24MHz/255 = 94.1kHZ )
116
        ADC_PrescalerConfig(255);  // PCLK/255  (24MHz/255 = 94.1kHZ )
118
        ADC_ITConfig(ADC_IT_ECV, ENABLE); // enable end of conversion IRQ
117
        ADC_ITConfig(ADC_IT_ECV, ENABLE); // enable end of conversion IRQ
119
 
-
 
120
        // initiate first update
-
 
121
        ADReady = 0;
-
 
122
        ADC_ConversionCmd(ADC_Conversion_Start);
-
 
123
 
118
       
124
        VIC_Config(ADC_ITLine, VIC_IRQ, PRIORITY_ADC);
119
        VIC_Config(ADC_ITLine, VIC_IRQ, PRIORITY_ADC);
Line 125... Line 120...
125
        VIC_ITCmd(ADC_ITLine, ENABLE);
120
        VIC_ITCmd(ADC_ITLine, ENABLE);
126
 
121
 
Line 136... Line 131...
136
        ADC_DeInit(); // reset register to default values
131
        ADC_DeInit(); // reset register to default values
137
}
132
}
Line 138... Line 133...
138
 
133
 
139
void Analog_Update(void)
134
void Analog_Update(void)
-
 
135
{
-
 
136
        static u32 AnalogTimer = 0;
140
{
137
 
-
 
138
        if(CheckDelay(AnalogTimer))
141
        if(!ADReady) return;
139
        {
142
        ADReady = 0;
140
                AnalogTimer = SetDelay(25);
-
 
141
                ADC_ConversionCmd(ADC_Conversion_Start);
143
        ADC_ConversionCmd(ADC_Conversion_Start);
142
        }