Ich habe mal kiommentare hinzugefügt wie auch bei jedem skript den ich in zukunft schreiben werde:
Code:
#include "gpio.h"
int press;
int main(void)
{
PortB.DataDirection.Bit3 = DataDirectionOutput;
PortB.DataDirection.Bit5 = DataDirectionInput;
PortB.Output.Bit5 = 1;
PortB.Output.Bit2 = 1;
PortB.DataDirection.Bit2 = DataDirectionInput; //Aus und Eingänge werden festgelegt.
while (1)
{
if (PortB.Input.Bit5 == 0) //Wenn portB5 keinen strom hat dann
{press = 1;} //Wird press auf eins gesezt.
if ((PortB.Input.Bit2 == 0) && (press == 1))// Wenn zu PortB2 kein strom fließt und press 1 ist wird press auf null gesetzt.
{press = 0;} //B5 ist an Schalter 1 angeschlossen und B2 an Schalter 2
if (press == 1) //Wenn schalter 1 gedrückt wurde
{PortB.Output.Bit3 = 1;} //Fließt strom durch PB3 über eine LED nach Masse.
if (press == 0) //Wenn Schalter 2 gedrtückt wurde
{PortB.Output.Bit3 = 0;} // Wird PB3 ausgeschaltet und die Lampe geht aus.
//Die Schalter sind übrigens taster.
}
}
Ich hoffe du wirst mir weiterhin helfen, Danke.
Aber jetzt werde ich dich erstmal nicht mehr mit Skripts nerven sonder mit Hardware, was ja nicht so nervend ist also hier meine erste Frage:
Kann ich anstatt eines motortreibers eventuell auch ein Relai benutzen mit einer Diode?
Also über den "Starken" Weg fließt direkt Strom aus dem Akku zum motor und das atmega hat dann eine Diode und sendet Strom in den Aktivierungsweg oder halt auch nicht.
Und dann werde ich versuchen mit Hilfe von Transistoren den Strom umzukehren.
Lesezeichen