Offline
Newbie
Karma: 0
Posts: 10
|
 |
« Reply #840 on: June 02, 2012, 05:40:26 am » |
Hay ya alguna manera de usar las interrupts desde el IDE de Arduino?
|
|
|
|
|
Logged
|
|
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 10
|
 |
« Reply #842 on: June 02, 2012, 07:10:35 am » |
No me funciona en la vinciduino, ni con el nuevo IDE1.0.1/bootloader. Busqué sobre el tema y ví mensajes de hace unos meses diciendo que no había soporte, y por lo que veo no se ha añadido con la salida oficial de leonardo, por eso pregunto.
|
|
|
|
|
Logged
|
|
|
|
|
COM22
Offline
God Member
Karma: 3
Posts: 579
|
 |
« Reply #843 on: June 02, 2012, 07:59:38 am » |
@tilthz en el bootloader nuevo si que viene una linea que pone " #include <avr/interrupt.h>" Si miras http://arduino.cc/en/Main/ArduinoBoardLeonardo veras que pone: External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details. Que IDE estas utilizando? en la versión 1.0 creo que no estaban implementados. Un saludo!
|
|
|
|
« Last Edit: June 02, 2012, 08:02:04 am by JRodrigo »
|
Logged
|
|
|
|
|
Málaga, Spain
Online
Edison Member
Karma: 33
Posts: 2012
|
 |
« Reply #844 on: June 02, 2012, 01:49:44 pm » |
En versiones anteriores al IDE 1.0.1, pre-leonardo, no se soportaban las interrupciones. En el nuevo IDE sí. Lo único es que para la vinciDuino, bueno para el ATMega32U4, podrías usar 4 creo que no están mapeadas en el SW.
Para manejar interrupciones que no sean las de entrada salida, tendrás que usar las llamadas a la libavr directamente y declarar los vectores de interrupción.
También hay una entrada en este hilo con un enlace a una extensión que preparó Markus para dar soporte a todas las interrupciones externas que soporta el AVR.
|
|
|
|
|
Logged
|
|
|
|
|
Germany
Offline
Full Member
Karma: 10
Posts: 182
|
 |
« Reply #845 on: June 05, 2012, 08:10:44 am » |
En versiones anteriores al IDE 1.0.1, pre-leonardo, no se soportaban las interrupciones. En el nuevo IDE sí. Lo único es que para la vinciDuino, bueno para el ATMega32U4, podrías usar 4 creo que no están mapeadas en el SW.
Para manejar interrupciones que no sean las de entrada salida, tendrás que usar las llamadas a la libavr directamente y declarar los vectores de interrupción.
También hay una entrada en este hilo con un enlace a una extensión que preparó Markus para dar soporte a todas las interrupciones externas que soporta el AVR.
sí, que se encuentran aquí http://arduino.cc/forum/index.php/topic,96202.msg722362.html#msg722362
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 10
|
 |
« Reply #846 on: June 05, 2012, 11:01:34 am » |
Vale, ya me he dado cuenta de mi fallo, estaba haciendo el tonto debido a un error en http://arduino.cc/en/Main/ArduinoBoardLeonardo ...allí dice "External Interrupts: 2 and 3.", por lo que había supuesto que int0 era D2 y int1 era D3 como en todos los arduinos. La mayoría de vosotros ya lo sabréis, pero eso está mal. La asignación correcta es: D0 = INT2 D1 = INT3 D2 = INT1 D3 = INT0
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 8
|
 |
« Reply #847 on: June 10, 2012, 02:24:41 pm » |
"Yo acabo de subirle el bootloader del IDE 1.0.1 con el USBasp sin problemas..."
Hola, ¿que interfaz grafica se puede usar para hacerlo con el USBasp?. He probado varias y ninguna muestra el atmega32u4. Si solo se puede hacer desde linea de comandos del AVRDUDE ¿podeis dar algunos "tips" para hacerlo o recomendar algun enlace que haga referencia al procedimiento (...puede resultar muy facil para quienes tienen tiempo lidiando con AVRDUDE, pero he leido y no me aclaro con el tema) Saludos ***** Edito ...he instalado el IDE 1.0.1 y veo que soporta el USBasp, ademas de que aparece "Leonardo" entre los ICs. ...probare a ver si va todo bien. Luego os comento. "...He desempolvado el USBASP y el bootloader lo carga bien pero a la hora de cargar el sketch tenemos que presionar el boton del reset como antiguamente..."
yOPERO, ¿cual es el procedimiento?. He conectado vinciDuino rev. A al PC a traves del USBasp y he seleccionado el programador en la lista desplegable, asi como "Leonardo" en la pestaña de tarjetas y luego hago 'click' en "grabar secuencia de inicio" pero me arroja error. avrdude: warning: cannot set sck period. please check for usbasp firmware update. avrdude: error: programm enable: target doesn't answer. 1 avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check.
¿que estoy haciendo mal?. He reinstalado los drivers (...que descargue desde http://www.fischl.de/usbasp/) pero no he tenido exito.....el problema era el cable de conexion ISP. Lo he cambiado y me detecta "arduino Leonardo on COM1". Sin embargo, ahora obtengo lo siguiente cuando intento cargar el bootloader: avrdude: warning: cannot set sck period. please check for usbasp firmware update. avrdude: Expected signature for ATmega32U4 is 1E 95 87 Double check chip, or use -F to override this check. Saludos
|
|
|
|
« Last Edit: June 11, 2012, 01:03:19 pm by maelva »
|
Logged
|
|
|
|
|
COM22
Offline
God Member
Karma: 3
Posts: 579
|
 |
« Reply #848 on: June 12, 2012, 08:22:21 pm » |
Chafardeando las Chinotiendas, en iTead van a inaugurar una nueva tienda y con las PCB de colores si antes te daban 8 piezas por 15 Pavos + envió ahora en la nueva han puesto 10 por el mismo precio, no se si sera error o definitivo pero os pongo los links para quien le interese: Nueva tienda " iMAll" aparentemente esta operativa (open beta), yo he echo un pedido de las normales verdes y sin problemas. Un saludo!
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 469
|
 |
« Reply #849 on: June 17, 2012, 11:58:05 am » |
Placas que se han basado en vinciduino: http://www.sparkyswidgets.com/Projects/Sparduino.aspxBasing our design on the Uno r3 form factor and taking a few notes from the fine work of the VinciDuino team and CrossRoads own leonardino design
http://www.olympiacircuits.com/leolympia.htmlThe LeOlympia project was based on Arduino information, the VinciDuino project and the Olimex project.
|
|
|
|
« Last Edit: June 17, 2012, 12:08:50 pm by JMN »
|
Logged
|
|
|
|
|
Málaga, Spain
Online
Edison Member
Karma: 33
Posts: 2012
|
 |
« Reply #850 on: June 17, 2012, 12:22:04 pm » |
Corcho, LeOlympia es un poco cariñosa ¿no? Quiero decir, $40, más del doble de la vinciDuino! Lo que no he encontrado es a lo que venden la Sparduino.
Me alegra que estén sacando derivados de nuestras placas, francamente es un auténtico placer que nuestro trabajo lo esté aprovechando otra gente. Por otro lado, también me alegra que nos mencionen como base de inspiración de la placa. Genial!
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Madrid - Spain
Offline
Full Member
Karma: 5
Posts: 177
'arduinomaníaco'
|
 |
« Reply #851 on: June 18, 2012, 05:28:14 am » |
Me gusta que en la LeOlympia se hayan mantenido todos los holes para los pines tanto con distancias protoboard como las que mantienen en Leonardo. Así en un momento dado también se pueden montar shields verticales empleando la distancia protoboard.
(ºLe
|
|
|
|
|
Logged
|
|
|
|
|
Málaga, Spain
Online
Edison Member
Karma: 33
Posts: 2012
|
 |
« Reply #852 on: June 18, 2012, 05:42:14 am » |
Me gusta que en la LeOlympia se hayan mantenido todos los holes para los pines tanto con distancias protoboard como las que mantienen en Leonardo. Así en un momento dado también se pueden montar shields verticales empleando la distancia protoboard.
(ºLe
+1
|
|
|
|
|
Logged
|
|
|
|
|
Cordoba
Offline
Full Member
Karma: 10
Posts: 161
|
 |
« Reply #853 on: August 06, 2012, 02:19:08 pm » |
Vale, ya me he dado cuenta de mi fallo, estaba haciendo el tonto debido a un error en http://arduino.cc/en/Main/ArduinoBoardLeonardo ...allí dice "External Interrupts: 2 and 3.", por lo que había supuesto que int0 era D2 y int1 era D3 como en todos los arduinos. La mayoría de vosotros ya lo sabréis, pero eso está mal. La asignación correcta es: D0 = INT2 D1 = INT3 D2 = INT1 D3 = INT0 Reitero desde mi ignorancia, quiero usar interrupciones, pero segun leo estas estan usadas para el serial 0,1 y para i2c 2,3. ¿Pero que sucede si necesito usar estos 2 puertos mas la interupcion? Los shield con ethernet ENC28j60 usan un pin interrupcion, aunque es opcional, pero para otro modulo wifi me hace falta.
|
|
|
|
|
Logged
|
El que pregunta aprende, el que responde aprende a responder.
|
|
|
|
Málaga, Spain
Online
Edison Member
Karma: 33
Posts: 2012
|
 |
« Reply #854 on: August 06, 2012, 03:16:54 pm » |
@maxid - el caso es que todos los microcontroladores tienen pines con funciones diferentes. Por ejemplo, el pin 0 y 1, está mapeado a una de las UARTs, a un módulo de entradas salidas discretas (pines digitales) y además tanto D0 como D1 se pueden usar para interrumpir al micro cuando cambie el estado de uno de esos pines.
El tema es que el que escribe la aplicación, en muchas ocasiones, tiene que seleccionar el tipo de funcionalidad que va a usar. Por ejemplo, si decides montar un dispositivo I2C como un reloj de tiempo real o sensor de temperatura, ya no puedes usar los pines 2 y 3 para otra cosa tipo digital IO.
Otro ejemplo de funciones especiales son las salidas asociadas a un evento de uno de los timers internos que al final se han mapeado por SW a un PWM.
Al final, cuando escribes tu aplicación, tienes que tener en cuenta este tipo de cosas y tomar decisiones de diseño.
|
|
|
|
|
Logged
|
|
|
|
|
|