Re: Nachtrag + Frage zum ADC Kategorie: CC-Pro Unit & Appl.Board (von Hannes - 11.02.2008 8:30) | ||
Als Antwort auf Re: Wie benutzt man den ADC6 und ADC7 vom Mega32 ? von PeterS - 6.02.2008 19:08 | ||
| ||
Hallo Peter, ich hab mir den ADC6 + 7 mit dem Oszi mal angeschaut. Nach dem Einschalten gehen die Ports erstmal für 2 Sek. auf Low bevor sie auf Eingang schalten. Das ist dann schon tragisch, wenn die Signalquelle niederohmig ist, dann sind die Ports nämlich hin. Muss man halt mit einem 1kOhm am Eingang entschärfen. Zum ADC: wenn die VREF 2.56V ist, wie gross darf dann die Spg. am ADC-Eingang max. sein? Weil im Datenblatt des Mega32, S.291, ADC Characteristics steht: Vin (input voltage) MAX = VREF Gruss > Hallo Hannes, > > auch ohne USB wird A.6 und A.7 im Bootloader als Output initialisiert (eigentlich falsch, aber nicht tragisch). > Bitte probier mal aus, ob ein "Port_DataDir(PortA, 0);" vorher hilft. Würde mich freuen ein Feedback von Dir > zu bekommen, ob das dann geklappt hat. > > Gruss Peter > > > Hallo, > > > > ich möchte den ADC6 und ADC7 des Mega32 verwenden. Ich habe ein eigenes Board ohne USB > > und Tastatur, somit sollte ADC6+7 zur freien Verwendung stehen. > > Mit dem u.a. Programm bekomme ich allerdings nur brauchbare Werte von ADC0, ADC1 + ADC5 > > > > Wie funktioniert ADC6 + 7 korrekt? > > > > Danke > > > > > > > > > > > > > > void main(void) > > { > > > > word ADC_Wert; > > > > SPI_Disable(); > > > > while(1) > > { > > ADC_Set(ADC_VREF_VCC, 0); // ADC0 > > ADC_Wert= ADC_Read(); > > Msg_WriteWord(ADC_Wert); > > Msg_WriteChar(0x20); // Space > > > > ADC_Set(ADC_VREF_VCC, 1); // ADC1 > > ADC_Wert= ADC_Read(); > > Msg_WriteWord(ADC_Wert); > > Msg_WriteChar(0x20); // Space > > > > ADC_Set(ADC_VREF_VCC, 5); // ADC5 > > ADC_Wert= ADC_Read(); > > Msg_WriteWord(ADC_Wert); > > Msg_WriteChar(0x20); // Space > > > > ADC_Set(ADC_VREF_VCC, 6); // ADC6 > > ADC_Wert= ADC_Read(); > > Msg_WriteWord(ADC_Wert); > > Msg_WriteChar(0x20); // Space > > > > ADC_Set(ADC_VREF_VCC, 7); // ADC7 > > ADC_Wert= ADC_Read(); > > Msg_WriteWord(ADC_Wert); > > Msg_WriteChar(0x20); // Space > > > > Msg_WriteChar(0x0D); //CR > > > > AbsDelay(1000); > > > > } > > } | ||
Antwort schreiben Antworten: Re: Nachtrag + Frage zum ADC (von PeterS - 17.02.2008 12:54) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum