Estou trabalhando com essas duas interrupçoes
attachInterrupt(51,cont_interrupcaoB, RISING);
Timer3.attachInterrupt(Alta_velocidad).setPeriod(1000).start();
È para medir a velocidade de um encoder. A primeira conta os pulsos dados pelo encoder e a segunda faz calculo da velocidade baseado na quantidade de pulsos que a primeira contou. Estou achando que enquanto ele faz o calculo da velocidade ele esta perdendo pulsos.
Alguem sabe como coloco prioridade para a interrupçao que conta os pulsos do encoder.
Tags:
Oi MHF, bom dia.
Existem sequencias de prioridades internas do microcomtoladores.
No caso do Atmega, eu não sei dizer exatamaente que tem mais prioridade,
mas voce encontra isto no datasheet do processador.
Pelo seu texto não foi possivel identificar qual que voce está usando.
Rui
Voce esta usando Arduino DUE :
https://www.arduino.cc/en/Main/ArduinoBoardDue
Baseando na CPU Atmel SAM3X8E ARM Cortex-M3 CPU
http://www.atmel.com/Images/Atmel-11057-32-bit-Cortex-M3-Microcontr...
Estava lendo e vi que esse ARM tem bastante recurso com as interrupções (requer estudo do material técnico).
Por exemplo, as interrupções podem ser configuradas ! (agrupadas)
10.6.6 Interrupt priority grouping
Oi MHF, boa tarde,
a sequencia de prioridade do Atmega328, é baseada nesta informação:
Interrupt priority is determined by order in table
Lower addresses have higher priority
Voce enconta a tabela com os respectivos endereços aqui
http://louisthiery.com/hardware-interrupts-on-the-atmega168328/
E sobre interrupts encontra info aqui:
http://courses.cs.washington.edu/courses/csep567/10wi/lectures/Lect...
Rui
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por