Lo que pusiste Meta es C y me parece que skapunky esta hablando de asm, no? Capaz que estoy diciendo barbaridades , corrijanme si me equivoco.
Esta parte del código viene así:
Por lo que veo, hay que quitar los # que son como comentarios, si los deja los lee como comentario y el compilador lo ignora.
Código:
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <util/delay.h>
#include "usb_debug_only.h"
#include "print.h"
Código:
include <avr/io.h>
include <avr/pgmspace.h>
include <util/delay.h>
include "usb_debug_only.h"
include "print.h"
Si eso es C, no son comentarios los #, son directivas de compilacion.
Por ejemplo:
Código:
// Teensy 2.0: LED is active high
#if defined(__AVR_ATmega32U4__) || defined(__AVR_AT90USB1286__)
#define LED_ON (PORTD |= (1<<6))
#define LED_OFF (PORTD &= ~(1<<6))
// Teensy 1.0: LED is active low
#else
#define LED_ON (PORTD &= ~(1<<6))
#define LED_OFF (PORTD |= (1<<6))
#endif
Si las macros __AVR_ATmega32U4__ y __AVR_AT90USB1286__ estan definidas, el compilador te va a tomar LED_ON y LED_OFF como
Código:
#define LED_ON (PORTD |= (1<<6))
#define LED_OFF (PORTD &= ~(1<<6))
Sino
Código:
#define LED_ON (PORTD &= ~(1<<6))
#define LED_OFF (PORTD |= (1<<6))
Cual es la diferencia? Lo puso en el comentario "LED is active high".
Al parecer en la nueva version de la placa para encender el led hay que poner a 1 el bit 6 del puerto D del micro (PD6 = pin numero 31) mientras que en la placa 1.0 lo encendes con un cero, lo que te obliga a hacer un esquema pull up (o un inversor) para encender el led.
PORTD imagino que debe leer el estado del puerto D.
De hecho si te fijas en una imagen que pusiste en el primer post de los pines de la placa teensy, vas a ver que en el pin 6 dice "led on 6", bueno ese es el bit 6 del puerto D y ahi es donde tenes que conectar el led (ponele en serie una resistencia de 4,7k para no quemar la salida del micro y manda todo a GND).