본문 바로가기

EmbeddedSystem/AVR9

[AVR] atmega1281 - switch로 LED 점멸 제어 #define LED1 PC0#define LED2 PC1#define LED3 PC2#define LED4 PC3#define SW2 PE7#include uint8_t switch_hit();int main(void){ static unsigned char cnt; DDRC = _BV(LED1) | _BV(LED2) | _BV(LED3) | _BV(LED4); PORTE = _BV(SW2); while(1) { if(switch_hit()) { cnt++; if(cnt % 2) // turn on LED1 and LED2 and turn off LED3 and LED4 else // turn on LED3 and LED4 and turn off LED1 and LED2 .. 2024. 10. 2.
[AVR] atmega1281 - switch / delay 함수 새로운 자료형C의 data type의 변수 길이는 MCU에 따라 달라진다. - sizeof(short) ≤ sizeof(int) ≤ sizeof(long) // 기본 - 8bit MCU : sizeof(int)= 2 / 32bit MCU: sizeof(int)= 4 / 64bit CPU: sizeof(int)= 8 https://www.ibm.com/docs/ko/i/7.5?topic=files-stdinth 포함 파일은 너비를 지정하고 해당 매크로 세트를 정의하는 정수 유형 세트를 선언합니다. 또한 다른 표준 포함 파일에 정의된 유형에 대응하는 정수 유형의 한계를 지정하는 매크로도 www.ibm.com변수 선언 때 변수나 상수의 길이를 명시할 필요가 있음 - Embedded software 개발 시 흔.. 2024. 9. 30.
[AVR] MCU 기초 - GPIO 사용 https://www.microchip.com/en-us/product/atmega1281 MCU : ATmega1281 GPIO 사용을 위해 알아야 할 개념마이크로컨트롤러(MCU)에서 핀의 입력/출력 동작을 제어하는 중요한 레지스터들DDR(Data Direction Register)- 포트의 특정 핀의 방향을 결정 - DDRE 어떤 비트 값이 1이면 해당 핀은 출력(MCU가 해당 핀으로 신호를 보낼 수 있음)- DDRn 어떤 비트 값이 0이면 해당 핀은 입력(외부 신호를 MCU가 읽을 수 있음)- reset 후 모든 핀은 입력으로 동작하도록 설정됨 PORT(register)- 대응되는 핀이 출력으로 설정되면 PORTxn에 저장된 값이 해당 핀으로 출력됨- 대응되는 핀이 입력으로 설정되(DDRn == 0.. 2024. 9. 25.