Hallo, nachdem ich nun schon das ganze Board 3x durchgelesen hab und nichts finden kann, was mir hilft, hoffe ich, dass sich jemand im Board findet, der meinen Fehler findet. Die Schaltung mit einem ATTiny45 soll eine Lampe per PWM, eine Gruppe LEDs ansteuern sowie die Akkuspannung überwachen, die Temperatur überwachen und durch einen Reedschalter gesteuert werden - dass ist zumindest mal das Ziel ;-). PB0 - PWM PB1 - LEDs PB2 - Spannungsüberwachung PB3 - Temperatur PB4 - Schalter Mein Problem: Nach dem programmieren des ATTiny leuchtet die LED an PB1 (sollte sie eigentlich noch nicht) - der Schalter lässt sich dafür jedoch gar nicht benutzen. Hat irgendwer ne Idee? Grüße!
Super - soll man Fehler finden ohne Programm kennen zu dürfen.
Die Funktion Reedschalten scheint mir doch reichlich sinnfrei zu sein. (PINB & 0x00 ) ist immer false.
Danke für den Hinweis! Irgendwann sind meine Versuche wohl in Verzweifelung übergegangen - habs ersetzt: if ( !(PINB & (1 << PINB4)) ) Im Simulator passts - nur auf dem Board läufts leider nicht (ISP - Programmierung über mySmartUSB).
Das ist falsch: PORTB &= ~((1 << PB0) | (1 << PB1));//an Eingang PB4 wird der Pull-Up Widerstand aktiviert (Schalter an GND) Pullups sind aktiviert, wenn der Port high gesetzt wird. So sollte es funktionieren: PORTB = 0b00010000; // Pullup B4 ein Grüße, Peter
@ Peter Diener:
Vor der von dir bemängelten Zeile steht diese:
> PORTB = 0xff;
Code und Kommentar sind zwar etwas unglücklich formuliert, aber auch bei
seinem Code ist PORTB4 auf High.
Nachts drüber schlafen und morgends nochmal ins Datenblatt des ATTiny schaun hilft doch manchmal...wenn man den falschen Port anspricht, gehts halt einfach nicht... Sorry und danke für die Mühe! Schönen Sonntag!
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.