Forum: Mikrocontroller und Digitale Elektronik Kondensator entladen


von Thomas (Gast)


Lesenswert?

Hallo, bin einigermaßen neu im Mikrokontrollergeschäft, bitte helft mir 
doch bei einer Frage.

Will gerade das Drumpad auf der ispf-Seite nachbauen und hab mal ne 
Frage zum Code. Man muss ja den Kondensator bei gespieltem Ton ja über 
einen Port entladen. Im Programm funktioniert das offensichtlich durch

PORTC&= ~(1<<Channel); /* discharge capacicator */
          TData[Channel]=0;

gehört die zweite Zeile auch dazu??

und was bedeutet eigentlich dieses " ~(1<<Channel)  " ?

Kann ich auch schreiben: Port_DataDirBit(Port_sowieso, Port_IN);  ?

Oder muss ich irgendwie was mit "LOW" schreiben?

Wann muss ich Ihn dann wieder auf high setzen und wie geht das?
Er braucht ja einige Zeit zum entladen oder?


Vielen Dank

Thomas

von Lehrmann M. (ubimbo)


Lesenswert?

Thomas schrieb:
> und was bedeutet eigentlich dieses " ~(1<<Channel)  " ?

http://www.mikrocontroller.net/articles/Bitmanipulation

von Tüll (Gast)


Lesenswert?

Thomas schrieb:
> Oder muss ich irgendwie was mit "LOW" schreiben?

Ne das tönt eher nach Arduino.
In C machst du das eben mit PORTC &= ~(1<<Channel);
(Bit Nr. "Channel" von PortC wird so auf 0 gesetzt).

Besuch mal den Link von obigem Beitrag und lies besser auch mal das 
ganze Tutorial hier durch.

Der 10nF Kondensator sollte sehr schnell entladen sein. Kannst aber 
schon nicht gerade in der nächsten Anweisung den Port wieder 
umschalten...
Man kann das ausrechnen, aber ich weiss nicht gerade auswendig wie.

von Thomas (Gast)


Lesenswert?

Danke für die Antworten

Um den "Entladungspin" dann wieder "zu" zu schalten kann ich dann etwas 
später

PORTC|=(1<<Channel);

schreiben oder?

Danke
Thomas

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
Noch kein Account? Hier anmelden.