Add comments and clean up.
authorasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Mon, 21 Mar 2011 18:04:26 +0000 (18:04 +0000)
committerasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Mon, 21 Mar 2011 18:04:26 +0000 (18:04 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4787 38d2e660-2303-0410-9eaa-f027e97ec537

bertos/cpu/cortex-m3/drv/adc_sam3.c
bertos/cpu/cortex-m3/drv/adc_sam3.h

index 7dd48bf650584aeac165613c71d940fe784a3465..e1e43a97bf9cb29a8dd94b1d3c617991a126ff5c 100644 (file)
 #include <io/cm3.h>
 
 
+/* We use event to signal the end of conversion */
 static Event data_ready;
+/* The last converted data */
 static uint32_t data;
 
 /**
  * ADC ISR.
+ *
+ * The interrupt is connected to ready data, so when the
+ * adc ends the conversion we generate an event and then
+ * we return the converted value.
+ *
+ * \note to clear the Ready data bit and End of conversion
+ * bit we should read the Last Converted Data register, otherwise
+ * the ready data interrupt loop on this call.
  */
 static DECLARE_ISR(adc_conversion_end_irq)
 {
index 1a6ca5322619165d551e0ad4b85a751e826cb239..6c31a70023f8886e05435e0f6d11d437bef320b6 100644 (file)
@@ -56,7 +56,6 @@
  */
 #define ADC_PRESCALER    (DIV_ROUNDUP(CPU_FREQ, 2 * CONFIG_ADC_CLOCK) - 1)
 #define ADC_CLOCK        (CPU_FREQ / ((ADC_PRESCALER + 1) * 2))
-#define ADC_STARTUPTIME  (((CONFIG_ADC_STARTUP_TIME * ADC_COMPUTED_CLOCK) / 8000000UL) - 1)
 
 void adc_hw_select_ch(uint8_t ch);
 uint16_t adc_hw_read(void);