ATTiny Pullups einschalten

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • ATTiny Pullups einschalten

      Hallo,
      ist bestimmt nur ein kleiner dummer Fehler, aber ich komm nicht drauf ;)
      Ich habe eine schicke kleine Uhr gebaut: thingiverse.com/thing:570797
      Nun möchte ich noch zwei Taster zum stellen nachrüsten.
      Aber ich kriege die internen Pullups nicht aktiviert.
      Die Eingänge funktionieren, floaten aber rum.
      Externe Pullups wären schwierig, alles ziemlich eng gebaut ;)
      Was stimmt da nicht?

      Quellcode

      1. 'Programm für Uhren mit Steppermotor und mit ATTiny 24
      2. 'Schaltplan, Fotos und Leiterplatte unter"Eigenbauten->Holo-Clock"
      3. 'Steppermotor 28BYJ 4096Step/Umdr.über StepDown zur Stromregelung
      4. $regfile = "attiny24.dat"
      5. $crystal = 32768
      6. $hwstack = 12
      7. $swstack = 10
      8. $framesize = 15
      9. DdrA=&B00001111 'Ausgänge für Motor
      10. Config Pinb.2 = Input 'Taster
      11. Portb.2 = 1 'Pullup*********geht nicht??
      12. Config Pina.7 = Input 'Taster
      13. PORTA.7 = 1 'Pullup*********geht nicht??
      14. Declare Sub TestCW
      15. Declare Sub TestCCW
      16. Dim Wert1 As Word
      17. Dim Wert2 As Word
      18. Dim Test As Word
      19. Wert1 = 174
      20. Wert2 = 175
      21. Test = 17
      22. 'max=120Hz=2ms/Takt
      23. '175ms=zu langsam 174ms=zu schnell
      24. Do
      25. If Pinb.2 = 0 Then
      26. Gosub TestCW 'Schneller Vorlauf
      27. End If
      28. If PinA.7 = 0 Then
      29. Gosub TestCCW 'Schneller Rücklauf
      30. End If
      31. 'Vorwärts
      32. PortA=&B00001001
      33. Waitms Wert1
      34. PORTA=&B00001100
      35. Waitms Wert2
      36. PortA=&B00000110
      37. Waitms Wert1
      38. PORTA=&B00000011
      39. Waitms Wert2
      40. Loop
      41. End
      42. Sub TestCW 'Schneller Vorlauf
      43. If Pinb.2 = 0 Then
      44. Do
      45. PortA=&B00001001
      46. Waitms Test
      47. PORTA=&B00001100
      48. Waitms Test
      49. PortA=&B00000110
      50. Waitms Test
      51. PORTA=&B00000011
      52. Waitms Test
      53. Loop until Pinb.2 = 1
      54. End If
      55. Return
      56. End Sub
      57. Sub TestCCW 'Schneller Rücklauf
      58. If PinA.7 = 0 Then
      59. Do
      60. PortA=&B00000011
      61. Waitms Test
      62. PORTA=&B00000110
      63. Waitms Test
      64. PortA=&B00001100
      65. Waitms Test
      66. PORTA=&B00001001
      67. Waitms Test
      68. Loop until PinA.7 = 1
      69. End If
      70. Return
      71. End Sub
      Alles anzeigen
    • Ich bin ein bißchen raus aus der Materie, mein Bascom ist noch 2.0.7.8 ;)
      Der Tiny läuft tatsächlich mit einem Uhrenquarz aus einer Armbanduhr.
      Ich habs getestet und dann gleich so gelassen.
      Beim programmieren gibt es einige Timeouts, aber es tut.
      Die Genauigkeit ist sehr gut, ich habe eine andere Uhr mit derselben Platine
      seit Juli nicht mehr korrigiert. So sieht das aus:
      Platine fertig.JPG