Eche un vistazo aquí , página 303. Parece que Atmel no incluye una protección contra cortocircuitos en su Pines de E / S, por lo que podría ser necesaria una protección.
En el caso de otra MCU, puede evitar el uso de resistencias, pero eso dependerá de la MCU y de su suerte. Con un botón necesitas una resistencia, así que aquí tienes cómo calcularla.
En la misma tabla puede ver varios parámetros como \ $ V_ {OH} \ $ y \ $ V_ {OL} \ $. Son los voltajes mínimos garantizados cuando la salida es alta y el máximo cuando la salida es baja. Supongo que el swing de salida es conservadoramente completo, es decir, se está conectando \ $ V_ {CC} \ $ a tierra. Suponiendo que 40 mA es la corriente máxima que su chip es capaz de proporcionarle:
$$ R_ {min} = \ frac {V_ {CC}} {I_ {max}} = 125 \ Omega $$
Para 5V y 40mA. Por supuesto, puedes colocar un resistor más grande y dormir noches más seguras, pero ¿por qué no tirar un poco de M \ $ \ Omega \ $ s? Eso se debe a la velocidad . Todos los pines tienen una capacitancia de entrada \ $ C_ {in} \ $, la constante de tiempo de la línea de comunicación es aproximadamente \ $ R \ cdot C_ {in} \ $ donde R es la resistencia de protección elegida. Si necesita comunicación de alta velocidad, es mejor que mantenga el tiempo lo más bajo posible, le gustaría algo \ $ R \ cdot C_ {in} < \ frac {1} {10 \ omega} \ $ where \ $ \ omega = 2 \ pi f \ $ y f es la frecuencia del canal de comunicación.
Iría con \ $ 1 \ text {k} \ Omega \ $ y jugaría a salvo.