elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Informática
| |-+  Electrónica
| | |-+  Teensy ++ 2.0 (A estrenarlo).
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Teensy ++ 2.0 (A estrenarlo).  (Leído 13,775 veces)
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Teensy ++ 2.0 (A estrenarlo).
« en: 21 Diciembre 2010, 19:06 pm »

Hola:

Un amigo se compró el Teensy ++ 2.0. Ahora está ocupado en un empleo nuevo que consiguió y me lo prestó en este mismo momento para hacer pruebas, como Led parpadeante, apagar Led y endenderlo con un pulsador, etc, lo básico. No lo ha probado, sin embargo dice que es C y es fácil. Eso lo voy a comprobar si es tan fácil como dice. Él sabe C, yo no.



Al tenerlo en mis manos, me impresionó lo pequeño que es y su poco peso. Dentro de unas horas pondré capturas desde antes de abrirlo hasta abrirlo por si le pican la curiosidad algunos.



El SoftWare para trabajar con C me sorprendió ya que funciona bajo Windows, Linux e incluso Mac. (Lo mismo para el nuevo MPLAB X).

http://www.arduino.cc/en/Main/Software

Lo bueno de la Web principal, me llamó la atención sus increíbles tutoriales bien hechos, organizados con imágenes incluidas para empezar con este tipo de prototipo. (Microchip.com debe coger este ejemplo, que espavilen o notarán ventas en AVR de Atmel que PIC de Microchip).



Fue comprado en este enlace:
http://www.pjrc.com/store/teensypp_pins.html

Con este cable:
http://www.pjrc.com/store/cable_usb_mini_b.html

El AVR de Atmel que viene es el:
90USB1286

He visto por Internet muy animagos en hacer libros en español sobre AVR. Los de PIC hay libros de sobra y siguen apareciendo, falta por aparecer los PIC32 en español, en Inglés está desde hace tiempo.

Voy hacer pruebas por primera vez desde cero con este dispositivo explicado en la Web haber si es tan fácil al menos de encender y apagat Led partiendo de sus tutotirales.

¿Qué opinan del Teensy ++ 2.0?

Un cordial saludo.

PD: En unas horas subiré fotos sacadas desde un movil.


En línea

skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: Teensy ++ 2.0 (A estrenarlo).
« Respuesta #1 en: 21 Diciembre 2010, 19:59 pm »

Esto es parecido a los Atmel que he utilizado yo, si tienes dudas en cuanto programacion, registro preguntame que te puedo ayudar, tanto en asm como en C. Estoy algo oxidado en cuanto programación ya que ahora ya no los programo pero para dudas puntuales no tengo problemas.

Lo que veo que está muy bien es que tiene 5 interrupciónes, yo los que he usado tienen 3, todo lo demás es lo mismo, por cierto tiene temporizadores?


En línea

Killtrojan Syslog v1.44: ENTRAR
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: Teensy ++ 2.0 (A estrenarlo).
« Respuesta #2 en: 22 Diciembre 2010, 01:59 am »

Hola:

Gracias por el apoyo. No se si tiene temporizadores ya que no tengo la menor idea de Atmel, sólo trabajo con PIC. Debe estar en esta hoja de datos de 90USB1286 que puedes ver.
http://www.atmel.com/dyn/resources/prod_documents/7593S.pdf

Las fotos que he sacado por ahora.
http://www.subeimagenes.com/img/2112201019359-10164.jpg

http://www.subeimagenes.com/img/2112201019360-10165.jpg

http://www.subeimagenes.com/img/2112201019361-10166.jpg

http://www.subeimagenes.com/img/2112201019362-10167.jpg
En línea

Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: Teensy ++ 2.0 (A estrenarlo).
« Respuesta #3 en: 22 Diciembre 2010, 06:11 am »

Ni se cuál es el más sencillo, ahora acaba de avanzar un poco y me volví a atascar.

Buenas:

Por ahora lo que puedo mostrar son capturas de pantalla.



Estoy atascado y no se que hacer a partir de aquí. Recuerdo que no tengo ni la más idea de los AVR de Atmel y me cuesta el Inglés.
Details In The Blinky Source Code

Using avr-gcc with the Teensy USB development board

Compilé el archivo make y me generó el .hex del AT90USB1826.

Parece que hay que seguir con este archivo llamado blicky.c, su código interior es:

Código:
/* LED Blink Example with USB Debug Channel for Teensy USB Development Board
 * http://www.pjrc.com/teensy/
 * Copyright (c) 2008, 2010 PJRC.COM, LLC
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

#include <avr/io.h>
#include <avr/pgmspace.h>
#include <util/delay.h>
#include "usb_debug_only.h"
#include "print.h"


// 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

#define LED_CONFIG    (DDRD |= (1<<6))
#define CPU_PRESCALE(n)    (CLKPR = 0x80, CLKPR = (n))
#define DIT 80        /* unit time for morse code */

void morse_character(char c);
void morse_P(const char *s);
const unsigned char morse_code_table[];


int main(void)
{
    unsigned char i;

    // set for 16 MHz clock, and make sure the LED is off
    CPU_PRESCALE(0);
    LED_CONFIG;
    LED_OFF;

    // initialize the USB, but don't want for the host to
    // configure.  The first several messages sent will be
    // lost because the PC hasn't configured the USB yet,
    // but we care more about blinking than debug messages!
    usb_init();

    // blink morse code messages!
    while (1) {
        for (i=0; i<6; i++) {
            morse_P(PSTR("SOS"));
            _delay_ms(1500);
        }
        morse_P(PSTR("DOES ANYBODY STILL KNOW MORSE CODE?"));
        _delay_ms(4000);
    }
}

// blink a single character in Morse code
void morse_character(char c)
{
    unsigned char code, count;

    if (c == ' ') {
        print("Space\n");
        _delay_ms(DIT * 7);
        return;
    }
    if (c < 'A' || c > 'Z') {
        print("Opps, unsupported character: ");
        pchar(c);
        print("\n");
        return;   
    }
    print("Char ");
    pchar(c);
    pchar(':');
    code = pgm_read_byte(morse_code_table + (c - 'A'));
    for (count = code & 0x07; count > 0; count--) {
        LED_ON;
        if (code & 0x80) {
            print(" dah");
            _delay_ms(DIT * 3);
        } else {
            print(" dit");
            _delay_ms(DIT);
        }
        LED_OFF;
        _delay_ms(DIT);
        code = code << 1;
    }
    print("\n");
    _delay_ms(DIT * 2);
}

// blink an entire message in Morse code
// the string must be in flash memory (using PSTR macro)
void morse_P(const char *s)
{
    char c;
   
    while (1) {
        c = pgm_read_byte(s++);
        if (!c) break;
        morse_character(c);
    }
    print("\n");
}

// lookup table for all 26 letters.  Upper 5 bits are the pulses
// to send (MSB first), and the lower 3 bits are the number of
// bits to send for this letter.
const unsigned char PROGMEM morse_code_table[] = {
    0x40 + 2,    // A: .-
    0x80 + 4,    // B: -...
    0xA0 + 4,    // C: -.-.
    0x80 + 3,    // D: -..
    0x00 + 1,    // E: .
    0x20 + 4,    // F: ..-.
    0xC0 + 3,    // G: --.
    0x00 + 4,    // H: ....
    0x00 + 2,    // I: ..
    0x70 + 4,    // J: .---
    0xA0 + 3,    // K: -.-
    0x40 + 4,    // L: .-..
    0xC0 + 2,    // M: --
    0x80 + 2,    // N: -.
    0xE0 + 3,    // O: ---
    0x60 + 4,    // P: .--.
    0xD0 + 4,    // Q: --.-
    0x40 + 3,    // R: .-.
    0x00 + 3,    // S: ...
    0x80 + 1,    // T: -
    0x20 + 3,    // U: ..-
    0x10 + 4,    // V: ...-
    0x60 + 3,    // W: .--
    0x90 + 4,    // X: -..-
    0xB0 + 4,    // Y: -.--
    0xC0 + 4    // Z: --..
};
No veo ni rastro de esquema eléctrico para poner un Led. Como no conozco este dispositivo, no me quiero arriesgar a quemar, romper o lo que sea del Teensy y no es mio. Bastante he quemado PIC16F84A y 16F88 como para quemar un AVR sin estrenar, ejjejejeejejej.
Por ahí debe haber algúl esquemita de lo que me está hablando, más que el Inglés me cuestra, capaz que me salté algo.

Subiré más fotos y vídeos del primer Led intermitente.



Parece que ahora falta un toque de acción. Antes ver esquema para conectar los Led y resistencias en sus debidos pines del Teensy ++ 2.0.

Saludo.
En línea

skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: Teensy ++ 2.0 (A estrenarlo).
« Respuesta #4 en: 22 Diciembre 2010, 14:14 pm »

Por cierto, miré la hoja del datasheet, tienes 2 timers/counts configurables a 8 o 16 bits. Por otra parte, me he informado mejor de este dispositivo y por lo que entiendo tu problematica es la conexión USB.

Yo la verdad, en USB no he grabado micros, ya que tengo un grabador para pics mediante puerto serie, y un grabador para Atmel por puerto paralelo que me fabriqué yo.

La idea de integrar el grabador en el propio dispositivo (micro) es buena pero lo limita solo a practicar, que imagino que es tu objetivo. Creo que tu problema es que el micro tiene el sistema de grabacion "onchip" y tienes un programa en C y una explicacion en ingles y no te aclaras.

Lo que te recomiendo, es que si quieres aprender sobre Atmels, es que te hagas un grabador para atmel y compres algun micro Atmel ya que todos descienden del 8051 con un assembler de Intel, que eso acostumbrarte son 2 dias. Programarlos en C por eso tampoco es dificil. El que te recomiendo que es el que he usado mas es el: AT89C51 que tiene 4 puertos, interrupciones, temporizadores, posibilidad de memoria externa y no es nada dificil de utilizar.

Ademas puedes hacer el programa en C con el CCS por ejemplo y el HEX subirlo con icprog o algun entorno similar.

Lo digo porque el kit este que utilizas, estará muy bien, pero creo que es una pena que pierdas el tiempo mirando como grabar el micro, cogete por ejemplo el modelo que te recomendado ya que la utilización es la misma que los pics que usas.

Eso si, te tocará mirar los registros, banco de memoria,sintaxis de programacion, pines..ya que es arquitectura intel,pero eso te puedo ayudar.

Aquí te dejo esquemas de grabadores para atmel parecido al que monté yo, ya que los comerciales són muy caros, pueden llegar hasta los 3mil euros y no merece la pena comprar uno.



Si encuentro el esquema del mio te lo pongo o envio para que lo tengas.
« Última modificación: 22 Diciembre 2010, 14:18 pm por skapunky » En línea

Killtrojan Syslog v1.44: ENTRAR
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: Teensy ++ 2.0 (A estrenarlo).
« Respuesta #5 en: 22 Diciembre 2010, 16:32 pm »

Hola:

Por ahora estoy probando el Teensy ++ 2.0 que es lo unico que tengo. En el futuro habrá un Teensy ++ 3.0, eso no lo dudo. Mi problema ahora es entender este código que puse antes. Parece que hay que configurarlo y que tiene varios. Lo he posido grabar desde ubuntu el .hex.

Código
  1. /* LED Blink Example with USB Debug Channel for Teensy USB Development Board
  2.  * http://www.pjrc.com/teensy/
  3.  * Copyright (c) 2008, 2010 PJRC.COM, LLC
  4.  *
  5.  * Permission is hereby granted, free of charge, to any person obtaining a copy
  6.  * of this software and associated documentation files (the "Software"), to deal
  7.  * in the Software without restriction, including without limitation the rights
  8.  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  9.  * copies of the Software, and to permit persons to whom the Software is
  10.  * furnished to do so, subject to the following conditions:
  11.  *
  12.  * The above copyright notice and this permission notice shall be included in
  13.  * all copies or substantial portions of the Software.
  14.  *
  15.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  16.  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  17.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  18.  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  19.  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  20.  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  21.  * THE SOFTWARE.
  22.  */
  23.  
  24. #include <avr/io.h>
  25. #include <avr/pgmspace.h>
  26. #include <util/delay.h>
  27. #include "usb_debug_only.h"
  28. #include "print.h"
  29.  
  30.  
  31. // Teensy 2.0: LED is active high
  32. #if defined(__AVR_ATmega32U4__) || defined(__AVR_AT90USB1286__)
  33. #define LED_ON        (PORTD |= (1<<6))
  34. #define LED_OFF        (PORTD &= ~(1<<6))
  35.  
  36. // Teensy 1.0: LED is active low
  37. #else
  38. #define LED_ON    (PORTD &= ~(1<<6))
  39. #define LED_OFF    (PORTD |= (1<<6))
  40. #endif
  41.  
  42. #define LED_CONFIG    (DDRD |= (1<<6))
  43. #define CPU_PRESCALE(n)    (CLKPR = 0x80, CLKPR = (n))
  44. #define DIT 80        /* unit time for morse code */
  45.  
  46. void morse_character(char c);
  47. void morse_P(const char *s);
  48. const unsigned char morse_code_table[];
  49.  
  50.  
  51. int main(void)
  52. {
  53.    unsigned char i;
  54.  
  55.    // set for 16 MHz clock, and make sure the LED is off
  56.    CPU_PRESCALE(0);
  57.    LED_CONFIG;
  58.    LED_OFF;
  59.  
  60.    // initialize the USB, but don't want for the host to
  61.    // configure.  The first several messages sent will be
  62.    // lost because the PC hasn't configured the USB yet,
  63.    // but we care more about blinking than debug messages!
  64.    usb_init();
  65.  
  66.    // blink morse code messages!
  67.    while (1) {
  68.        for (i=0; i<6; i++) {
  69.            morse_P(PSTR("SOS"));
  70.            _delay_ms(1500);
  71.        }
  72.        morse_P(PSTR("DOES ANYBODY STILL KNOW MORSE CODE?"));
  73.        _delay_ms(4000);
  74.    }
  75. }
  76.  
  77. // blink a single character in Morse code
  78. void morse_character(char c)
  79. {
  80.    unsigned char code, count;
  81.  
  82.    if (c == ' ') {
  83.        print("Space\n");
  84.        _delay_ms(DIT * 7);
  85.        return;
  86.    }
  87.    if (c < 'A' || c > 'Z') {
  88.        print("Opps, unsupported character: ");
  89.        pchar(c);
  90.        print("\n");
  91.        return;    
  92.    }
  93.    print("Char ");
  94.    pchar(c);
  95.    pchar(':');
  96.    code = pgm_read_byte(morse_code_table + (c - 'A'));
  97.    for (count = code & 0x07; count > 0; count--) {
  98.        LED_ON;
  99.        if (code & 0x80) {
  100.            print(" dah");
  101.            _delay_ms(DIT * 3);
  102.        } else {
  103.            print(" dit");
  104.            _delay_ms(DIT);
  105.        }
  106.        LED_OFF;
  107.        _delay_ms(DIT);
  108.        code = code << 1;
  109.    }
  110.    print("\n");
  111.    _delay_ms(DIT * 2);
  112. }
  113.  
  114. // blink an entire message in Morse code
  115. // the string must be in flash memory (using PSTR macro)
  116. void morse_P(const char *s)
  117. {
  118.    char c;
  119.  
  120.    while (1) {
  121.        c = pgm_read_byte(s++);
  122.        if (!c) break;
  123.        morse_character(c);
  124.    }
  125.    print("\n");
  126. }
  127.  
  128. // lookup table for all 26 letters.  Upper 5 bits are the pulses
  129. // to send (MSB first), and the lower 3 bits are the number of
  130. // bits to send for this letter.
  131. const unsigned char PROGMEM morse_code_table[] = {
  132.    0x40 + 2,    // A: .-
  133.    0x80 + 4,    // B: -...
  134.    0xA0 + 4,    // C: -.-.
  135.    0x80 + 3,    // D: -..
  136.    0x00 + 1,    // E: .
  137.    0x20 + 4,    // F: ..-.
  138.    0xC0 + 3,    // G: --.
  139.    0x00 + 4,    // H: ....
  140.    0x00 + 2,    // I: ..
  141.    0x70 + 4,    // J: .---
  142.    0xA0 + 3,    // K: -.-
  143.    0x40 + 4,    // L: .-..
  144.    0xC0 + 2,    // M: --
  145.    0x80 + 2,    // N: -.
  146.    0xE0 + 3,    // O: ---
  147.    0x60 + 4,    // P: .--.
  148.    0xD0 + 4,    // Q: --.-
  149.    0x40 + 3,    // R: .-.
  150.    0x00 + 3,    // S: ...
  151.    0x80 + 1,    // T: -
  152.    0x20 + 3,    // U: ..-
  153.    0x10 + 4,    // V: ...-
  154.    0x60 + 3,    // W: .--
  155.    0x90 + 4,    // X: -..-
  156.    0xB0 + 4,    // Y: -.--
  157.    0xC0 + 4    // Z: --..
  158. };

1) Quiero un código de ejemplo de parpadeo de Led.
2) He conseguido grabar el .hex con el código de arriba.
3) Un esquema eléctrico de una resistencia y un Led. Quiero saber el patillaje donde hay que conectarlo al menos.
4) Sospecho que el código de arriba hay que modificarlo y so varios programas en uno me da la impresión.
Saludo.
En línea

skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: Teensy ++ 2.0 (A estrenarlo).
« Respuesta #6 en: 22 Diciembre 2010, 22:54 pm »

No creo que el codigo que tienes sea el mejor ejemplo ya que depende de un display y tal, de todas formas para encender un led, simplemente conectalo en un puerto, por ejemplo el 4 (P4) y puedes enviar por una patilla directamente un estado alto o bajo de la siguiente manera:

sbit LED = P4^1;
LED = 1;

Eso teniendo en cuenta que el otro lado está en una massa real, o dandole un 0 desde otro PIN que deberías definir. Por cierto puedes definir cada pin de cada puerto con la sintaxis que te puesto mediante "sbit" y activar ese pin asignandole un 1 logico.

Para apagar el Led simplemente:

LED = 0;

Debería apargarse.

NOTA: P4 es el puerto 4 del micro y lo tengo definido así en la libreria que uso, lo digo para que definas en tu caso correctamente el puerto en su direccion, lo puedes hacer en la cabezera con la sentencia "Define".              


PD: Para encender y apagar mete eso en un bucle, si te quieres complicar puedes utilizar el temporizador de alguna forma.
« Última modificación: 22 Diciembre 2010, 22:56 pm por skapunky » En línea

Killtrojan Syslog v1.44: ENTRAR
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: Teensy ++ 2.0 (A estrenarlo).
« Respuesta #7 en: 22 Diciembre 2010, 22:56 pm »

Gracias por la información.

Esta parte del código viene así:
Código:
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <util/delay.h>
#include "usb_debug_only.h"
#include "print.h"
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"
En esta otra parte del código que se muestra abajo, corríjanme si me equivoco hay que usar la configuración adecuada.

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

#define LED_CONFIG    (DDRD |= (1<<6))
#define CPU_PRESCALE(n)    (CLKPR = 0x80, CLKPR = (n))
#define DIT 80        /* unit time for morse code */

void morse_character(char c);
void morse_P(const char *s);
const unsigned char morse_code_table[];
Como el que uso es el Teensy 2, quitaré las # y el código puede quedar así:
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

define LED_CONFIG    (DDRD |= (1<<6))
define CPU_PRESCALE(n)    (CLKPR = 0x80, CLKPR = (n))
define DIT 80        /* unit time for morse code */

void morse_character(char c);
void morse_P(const char *s);
const unsigned char morse_code_table[];
Justo debajo del Teensy 1 quité también las # del código de arriba.

Ahora voy a compilar y generar el .hex. Quiero saber el esquema eléctrico que todavía no conozco para hacer pruebas.

Leyendo bien puede ser quitando todas las #.
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

define LED_CONFIG    (DDRD |= (1<<6))
define CPU_PRESCALE(n)    (CLKPR = 0x80, CLKPR = (n))
define DIT 80        /* unit time for morse code */

void morse_character(char c);
void morse_P(const char *s);
const unsigned char morse_code_table[];
Sigo investigando...
En línea

skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: Teensy ++ 2.0 (A estrenarlo).
« Respuesta #8 en: 22 Diciembre 2010, 22:59 pm »

El simbolo # es para añadir comentario, quitalos  :xD ya que lo que lleve eso no se ejecutara.

Por otro lado veo que usas librerias externas ya del propio micro y en la definicion de variables lineas como:

#define LED_OFF        (PORTD &= ~(1<<6))

Eso yo nunca lo había visto...de hecho PORTD debe venir definido en una de las librerias externas.
En línea

Killtrojan Syslog v1.44: ENTRAR
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: Teensy ++ 2.0 (A estrenarlo).
« Respuesta #9 en: 23 Diciembre 2010, 01:04 am »

Por lo que me haz contado arriba. Mejor cambio de tuorial siguiento este enlace.

http://www.pjrc.com/teensy/tutorial.html



Parece que hay buen tutorial y esquemas para hacer cosas.







Edito:

He estado investigando y he aprendido solo cargar el hex al Teensy. Con todo lo que aprenda y que no se me olvide, les paso un mini manual de lo que he hecho hasta el momento, por ahora no es gran cosa. Según voy aprendiendo y descubirendo cosas con Teensy, lo iré actualizando con cualquier ejemplo, pondré fotos y vídeos.



Descargar manual: (PDF)
« Última modificación: 23 Diciembre 2010, 15:38 pm por Meta » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
XBOX360 Gamertag Recovery con Teensy 2.0
Electrónica
hkm 4 5,095 Último mensaje 18 Agosto 2010, 06:20 am
por AngelBroz
Presento manual Teensy++ 2.0
Electrónica
Meta 0 2,908 Último mensaje 16 Enero 2011, 11:17 am
por Meta
Hacking con USB Teensy 3.2 (Alternativa a USB Rubber Ducky)
Hardware
HELLO, WORLD_ 0 4,591 Último mensaje 25 Mayo 2016, 19:50 pm
por HELLO, WORLD_
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines