PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ADC und IO Port frage



StGla90
20.09.2014, 09:03
Hallo.
ich habe eine Frage zu den ADC 0/1 und IO Ports (neben den LEDs).
1. Was muss im Programm stehen um diese Ports als ein bzw. Ausgang zu setzen?
2. wie kann man bei ADC den internen Pull - Up widerstand verwenden?
3. ADC kann ja auch für analoge sensoren verwendet werden, ist das mit den IO auch möglich? Oder gehen hier nur Schalter, Taster?

Dann noch eine Frage zu Move04 (Beispiel Programm):
Was für einen Sinn macht der pump_count? Warum wird hier Weg/Drehwinkel geändert?

Danke im voraus

Besserwessi
20.09.2014, 11:27
Für die Umschaltung auf Ausgang / Eingang gibt es Register wie DDRA für Port A usw. , eine 1 stellt denn entsprechenden Pin auf Ausgang. Das Einschalten der Pullups geht so wie das Ausgeben einer 1 als das passende Bit im Register PORTA setzen. Die Pull up Widerstände haben ein große Toleranz sind also nur eingeschränkt als Pullup für einen analogen Sensor geeignet. Da nimmt man in der Regel einen externen Widerstand.

Man kann mit Einschränkung auch digitale IO Pins für analoge Sensoren benutzen. Einen analogen Wert bekommt man dann nicht über die Spannung, sonst über eine Frequenz oder Zeitmessung. An den normalen IO Pins ist das allerdings nicht so gut möglich - bevorzugt nutzt man da Pins wie ICP.

radbruch
20.09.2014, 12:57
Hallo

Einen Einstieg in die Progammierung der Ein- und Ausgänge findest du hier:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Zugriff_auf_IO-Ports

Zusätzlich benötigst du die Pinbelegung des ATMega32 auf dem RP6:

https://www.roboternetz.de/community/attachment.php?attachmentid=29074
(Aus dem Schaltplan des RP6)

Und vielleicht noch das Datenblatt des ATMega32: http://www.atmel.com/Images/2503S.pdf

Gruß

mic

StGla90
20.09.2014, 17:57
Ok dann werde ich das mal so versuchen, danke. Wie viel Ohm sollte denn der Pull - Up Widerstand sein?

Besserwessi
20.09.2014, 18:35
Der Wert vom Pullup hängt davon ab, was daran hängt, und wie viele Störungen es gibt. So etwa 10-50 K sind oft passend.