Teensy++ 2.0

(Esta entrada es la quinta parte de una serie que cubre un proyecto personal que realicé en el verano de 2014; pueden ver todas las partes aquí).

La parte crucial de mi proyecto, sin la cual nada más podía llevarse a cabo, fue comprar un Teensy++ 2.0.

Teensy++ 2.0

Teensy++ 2.0

Esto sí no tengo ni la más remota idea de cómo conseguirlo en México. Debe ser posible, pero maldito si acaso sé dónde preguntar al menos.

El Teensy++ 2.0 es un sistema de desarrollo microcontrolador… definición que probablemente les sirva tanto a ustedes como inicialmente me sirvió a mí. Para la gente que sabe de desarrollo en hardware, lo más sencillo tal vez sea decirles que el Teensy++ 2.0 es básicamente un Arduino; puede utilizar las bibliotecas de Arduino, e incluso el ambiente de desarrollo, y es (hasta donde tengo entendido) casi 100% compatible con Arduino.

Para la gente (como yo) con antecedentes de programación, la mejor descripción del Teensy++ 2.0 es que es hardware “programable”. La chingaderita (mide como 5×2 centímetros) tiene un montón de compuertas lógicas; yo como programador escribo un programa en C, y una versión especial de gcc (el compilador normal de C de Linux) genera un ejecutable que puedo convertir a un binario, el cual puedo quemar (flash, le dicen) en el Teensy++ 2.0 como firmware.

En otras palabras, aunque Turing completo (la tarjeta es capaz de ejecutar cualquier programa, si tiene suficiente memoria), el Teensy++ 2.0 no es un CPU dado que no tiene realmente un conjunto de instrucciones… pero podría programarle un CPU con el conjunto de instrucciones que se me diera la gana, como hicimos en mi proyecto final de Arquitectura en la maestría. Aunque probablemente necesitaría más memoria.

Programar el Teensy++ 2.0 es deliciosamente restrictivo; olvídense de asignar memoria, mejor ni intentar utilizar recursión, y casi todas las variables más vale que sean globales y estáticas. También hace cosas raras para un programador como yo que casi nunca piensa en el hardware; por ejemplo, transmitir un bit por uno del montón de pines que tiene, se consigue asignándole 0 o 1 a una variable especial (por ejemplo, UEDATX).

Hay una comunidad bastante grande de gente que utiliza el Teensy++ 2.0 para cualquier cantidad de proyectos; échenles un ojo si quieren.

El hardware es realmente restrictivo; desde el punto de vista de software, no puede hacer mucho… y si somos justos, de hecho casi no puede hacer nada. ¿Para qué podría interesarme entonces a mí, que soy programador antes que nada? Pues obviamente me interesaba por lo que puede hacer desde el punto de vista de hardware.

¿Ven el conector mini USB que tiene el Teensy++ 2.0 en la imagen de arriba? Ahí se le conecta el cable USB con el cual quemo mis “programas” en la tarjeta. Pero no es para lo único que sirve.

El Teensy++ 2.0 tiene la capacidad de emular un dispositivo USB.

Y en particular, puede emular un dispositivo HID-USB.

Estrellita en la frente a mis lectores que puedan adivinar a dónde voy con todo esto.

4 comentarios sobre “Teensy++ 2.0

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *