This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| pt:avr:external_interrupts [2015/11/30 18:02] – artica | pt:avr:external_interrupts [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| Para utilizar uma interrupção externa, o pino tem de ser configurado como uma entrada standard de IO (que também pode ser utilizada como uma saída, mas, neste caso, a interrupção só pode ser criada pelo próprio controlador). É necessário permitir a recepção de interrupções e especificar a condição que causa a interrupção para disparar o registo de configuração de interrupção externa. Há quatro condições possíveis: | Para utilizar uma interrupção externa, o pino tem de ser configurado como uma entrada standard de IO (que também pode ser utilizada como uma saída, mas, neste caso, a interrupção só pode ser criada pelo próprio controlador). É necessário permitir a recepção de interrupções e especificar a condição que causa a interrupção para disparar o registo de configuração de interrupção externa. Há quatro condições possíveis: | ||
| - | * De zero lógico (tensão de 0V) | + | * De zero lógico (tensão de 0V). |
| * Alteração do valor lógico. | * Alteração do valor lógico. | ||
| * Frente Decrescente - mudança lógica de um para zero. | * Frente Decrescente - mudança lógica de um para zero. | ||
| Line 12: | Line 12: | ||
| Quando o modo for definido para o zero lógico, a interrupção irá disparar continuamente enquanto o pino tem um valor de zero. Durante este período, a execução do programa principal é interrompida. | Quando o modo for definido para o zero lógico, a interrupção irá disparar continuamente enquanto o pino tem um valor de zero. Durante este período, a execução do programa principal é interrompida. | ||
| - | Agrupados por princípio, existem dois tipos de interrupção: | + | Agrupados por princípio, existem dois tipos de interrupção: |
| - | ~~PB~~ | + | < |
| - | <box 100% round #EEEEEE|Example> | + | <box 100% round #EEEEEE|Exemplo> |
| Task: Make ATmega128 pin number 9 (pin 7 on bus E) fire an interrupt if its value is changed. This pin corresponds to the INT7 external interrupt, which is synchronous. | Task: Make ATmega128 pin number 9 (pin 7 on bus E) fire an interrupt if its value is changed. This pin corresponds to the INT7 external interrupt, which is synchronous. | ||
| Line 55: | Line 55: | ||
| </ | </ | ||
| - | In addition to interrupts fired by single pins, if the AVR has enough pins it is possible to use entire groups of pins to fire logical value change interrupts. These interrupts are simply called pin change interrupts. They fire when the value of at least one pin in the group is changed. | + | Além de interrupções disparadas por pinos individuais, se o AVR tem pinos suficientes, |