ATMEGA128, CodeVisonAVR, GPIO, gpio_intr
현재 사용하고 있는 보드에
연결된 버튼이 인터럽트를 지원하지 않아
별도로 구성하였습니다.
PORTE.7 이 INT7과 mapping되기에 사용하였고
PORTA.0를 LED 로 사용하였습니다.
1. ATmega128 Pinmap

2. Ports > PORTA.0, Output
LED로 사용함

3. External IRQ > INT7 Enabled, Falling Edge

4. 소스 설명
#include <mega128.h>
// External Interrupt 7 service routine interrupt [EXT_INT7] void ext_int7_isr(void) { // Place your code here // INT7 mapping to PORTE.7 // LED Blink PORTA ^= 0x01; }
// Declare your global variables here
void main(void) { // Declare your local variables here
// Input/Output Ports initialization // Port A initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=Out // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=0 PORTA=0x00; DDRA=0x01;
// External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off // INT3: Off // INT4: Off // INT5: Off // INT6: Off // INT7: On // INT7 Mode: Falling Edge EICRA=0x00; EICRB=0x80; EIMSK=0x80; EIFR=0x80;
// Global enable interrupts #asm("sei")
while (1) { // Place your code here } }
|

ATMEGA128, CodeVisonAVR, TIMER, timer_overflow_intr_1ms (0) |
2018.08.30 |
ATMEGA128, CodeVisonAVR, UART, printf 사용하기 (0) |
2018.08.28 |
ATMEGA128, CodeVisonAVR, GPIO, BlinkLED (0) |
2018.08.28 |
ATMEGA128, atmega128_kd-128pro-usb 초기 동작 (0) |
2018.08.27 |
ATMEGA128, AVR Studio 펌웨어 다운로드하기 (0) |
2018.07.31 |