Interné pull-up rezistory v ATtiny85

Zápisník experimentátora

Hierarchy: ATtiny85

Pri čítaní knihy o Adafruit Trinket, čo je vlastne len miniatúrna doska s mikrokontrolérom ATtiny85 ma zaujala zmienka o tom, ako robili USB komunikáciu na pinoch 3 a 4 a narazili na problém podivnej hodnoty napätia na pine po zapnutí interného pull-up rezistora. Znelo to divne. Prečo by práve na jednom porte bola iná hodnota než Vcc?

Preto vznikol tento miniatúrny program, ktorý na všetkých dostupných portoch zapne interný pull-up. A potom som zobral multimeter a overoval, či je to naozaj tak. Na mojom ATtiny85 som však na všetkých pinoch nameral správnu hodnotu. Otázka preto znie. Urobili pri meraní chybu, alebo je naozaj nimi popisované správanie možne?

// ATMEL ATTINY85
//
//                      +-\/-+
//          (D 5) PB5  1|    |8  Vcc
//          (D 3) PB3  2|    |7  PB2 (D 2) 
//          (D 4) PB4  3|    |6  PB1 (D 1)
//                GND  4|    |5  PB0 (D 0)
//                      +----+ 

///
/// Setup ports
///
void setup() {                
  pinMode(0,INPUT_PULLUP);
  pinMode(1,INPUT_PULLUP);
  pinMode(2,INPUT_PULLUP);
  pinMode(3,INPUT_PULLUP);
  pinMode(4,INPUT_PULLUP);
}

///
/// Nothing to do
///
void loop() {
}

Ja som testoval na DIP verzii mikrokontroléra, oni na SMD. Možno je rozdiel v tých verziách púzdra, alebo ich várka mikrokontrolérov vykazovala nejaký defekt. SMD verziu ale môžem o pár dní otestovať a tak uvidíme, či nájdeme na SMD verzii popisovanú vlastnosť, o ktorej sa v datasheete nikde nedočítate.



Download

10.08.2015


Menu