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
Thomas schrieb: > und was bedeutet eigentlich dieses " ~(1<<Channel) " ? http://www.mikrocontroller.net/articles/Bitmanipulation
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.