]> defiant.homedns.org Git - ros_wild_thumper.git/blobdiff - avr/nano/main.c
avr nano: Fix adc sample rate
[ros_wild_thumper.git] / avr / nano / main.c
index 78e85316980ef5d067b43a55e2d7c6b89c0f8529..935ce4994d4ae418a1333a13aa44045210e1518b 100644 (file)
  */
 
 
+/**
+ * Nano Pinout
+ * A0 PC0/ADC0
+ * A1 PC1/ADC1
+ * A2 PC2/ADC2
+ * A3 PC3/ADC3
+ * A4 PC4/ADC4
+ * A5 PC5/ADC5
+ * A6 ADC6
+ * A7 ADC7
+ * D0 PD0/RX
+ * D1 PD1/TX
+ * D2 PD2/IND0
+ * D3 PD3/IND1
+ * D4 PD4/T0
+ * D5 PD5/T1
+ * D6 PD6/AIN0
+ * D7 PD7/AIN1
+ * D8 PB0/ICP
+ * D9 PB1/OC1
+ * D10 PB2/SS
+ * D11 PB3/MOSI
+ * D12 PB4/MISO
+ * D13 PB5/SCK
+ */
+
+
 #define TWI_ACK   TWCR = (1<<TWINT) | (1<<TWEA) | (1<<TWEN) | (1<<TWIE)
 #define TWI_NAK   TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWIE)
 #define TWI_RESET TWCR = (1<<TWINT) | (1<<TWEA) | (1<<TWSTO) | (1<<TWEN) | (1<<TWIE);
@@ -189,6 +216,8 @@ ISR(TWI_vect)
                case TW_SR_STOP:
                        TWI_ACK;
                        break;
+               case TW_NO_INFO:
+                       break;
                default:
                        TWI_RESET;
        }
@@ -199,8 +228,9 @@ uint16_t ReadChannel(uint8_t mux) {
        uint8_t i;
        uint16_t result;
 
-       ADCSRA = (1<<ADEN) | (1<<ADPS1) | (1<<ADPS0);    // Frequenzvorteiler 
-       // setzen auf 8 (1) und ADC aktivieren (1)
+       ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);    // Frequenzvorteiler
+       // setzen auf 128 (1) und ADC aktivieren (1)
+       // 16MHz/128=125kHz
 
        ADMUX = mux;                      // Kanal waehlen
        ADMUX |= (1<<REFS0);