Hallo Ist es Möglich an einem PORT des Atmega32 ADC und nen Portpin gleichzeitig zu nutzen. Also PORTA.0 - A.3 = ADC und PORTA.4 - A.7 = Digital-IO? Wie macht mann das mit BASCOM?
1. Ja 2. Man schreibe ein entsprechendes Programm.
Wie man das mit Bascom macht weiß ich nicht. Ich kann´s dir nur auf Registerbene erklären. Zunächst mal gibt es ja für jeden Pin ein Bit mit dem du die Datenrichtung bestimmen kannst ( Data Direction Register (DDRx), für Port B also DDRB). Für I/O musst du auf Ausgang stellen und für Analog auf Eingang. Dann gibt es bei dem ADC ein Register namens ADMUX (kommt von multiplexing) mit dem man den Pin wählt, wo die ADC Hardware den Wert misst (sampled). Die Lösung zu deiner Frage ist also, die DDR Bits 4 - 7 von PortA auf "Ausgang zu stellen", die DDR Bist 0 - 3 auf Eingang und die MUX Bits in ADMUX sich nur in dem Bereich 0 - 3 bewegen zu lassen.
Jasson schrieb: > Zunächst mal gibt es ja für jeden Pin ein Bit mit dem du die > Datenrichtung bestimmen kannst ( Data Direction Register (DDRx), für > Port B also DDRB). > Für I/O musst du auf Ausgang stellen und für Analog auf Eingang. Jain. Zwar muß man natürlich für ADC auf Input schalten, aber für digital IO natürlich nicht zwingend auf Output, sondern nur dann, wenn Output gewünscht ist. Für digital Input schaltet man natürlich genauso auf Input wie für analog Input. > Dann gibt es bei dem ADC ein Register namens ADMUX (kommt von [...] Außerdem gibt es bei allen neueren AVRs noch DIDR-Register, bei denen jedes für analoge Zwecke genutzte Bit besser auf eins steht und jedes für digitale Zwecke bnutzte besser auf null. Während erstere Forderung optional ist, ist die zweite zwingend erforderliche Voraussetzung für eine Funktion. Entscharft wird das einzig dadurch, daß der Standardinhalt nach Reset 0 ist.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.