Hay ya alguna manera de usar las interrupts desde el IDE de Arduino?
tilthz:
Hay ya alguna manera de usar las interrupts desde el IDE de Arduino?
Un saludo!
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.
@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!
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.
fm:
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í Interrupts for the Arduino Leonardo and clones - Suggestions for the Arduino Project - Arduino Forum
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
JRodrigo:
"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.
yOPERO:
"...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 USBasp - USB programmer for Atmel AVR controllers - fischl.de) 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
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:- ITEAD Colors PCB 5cm*5cm max - 8 pcs
Nueva tienda "iMAll" aparentemente esta operativa (open beta), yo he echo un pedido de las normales verdes y sin problemas.
Un saludo!
Placas que se han basado en vinciduino:
http://www.sparkyswidgets.com/Projects/Sparduino.aspx
Basing 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
The LeOlympia project was based on Arduino information, the VinciDuino project and the Olimex project.
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!
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
coleoptero:
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
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.
@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.
Es justo eso lo que me pasa, necesito enviar por puerto serie y tener un reloj y un lcd con i2c, por lo que no puedo dejar de usar uno u otro, y solo han mapeado en arduino esas interrupciones. Pero veo que el atmega32u4 tiene mas interrupciones por hardware.
Están cerrando las charla en las OSHWCon http://oshwcon.org/es y la organización nos pregunta por una charla sobre vinciDuino, algún voluntario?
Yo es que soy muy poco apto para dar charlas ante una sala llena de gente.. sería un desastre, además los fans de Arduino (que supongo que habrá muchos en este evento) pueden acabar linchandome cuando diga lo que pienso x_x
Jajajaja!
Venga yo si queréis me intento apuntar con una conferencia, para el día 22 sábado. Si no me puedo "llegar" a Madrid necesitaría a alguien que me cubra.
Cubrir????, quién ha dicho cubrir?????, yo como imagináis dejaría muy bajo el listón
, di unas charlas en un instituto y todavía están sentados en estado catatónico en sus pupitres, así que es trabajo para un doble 00, con licencia para disertar horas y horas.
Haced fotos, para que se os vea las calvas,jajajajaja
Bueno si al final alguien se anima creo que el plazo para inscribirla (lo ampliaron) no sé si termina este martes o miércoles, según su twitter:
Synusia ?@synusia_es
La publicación de las charlas aceptadas también se retrasará hasta el 15 de agosto #OSHWCon2012
hay que inscribirla aquí: http://oshwcon.org/es/propuesta_charla , http://oshwcon.org/es/call4papers
Yo aún no he cogido la entrada en la página para asistir, supongo que al final lo haré ya que me pilla cerca de casa y aunque estoy un poco cansado de lo que veo sobre estos temas/comunidad/país, supongo que acabré yendo.