C, C++/임베디드 시스템 7

임베디드시스템 릴레이 부저 제어 테스트

릴레이 부저 제어 테스트 LED_CON과 SET_CON은 각각 0x8000 및 0x8100의 주소를 할당받고, 부호 없는 문자형 포인터로 취급하며, 이러한 주소는 외부 I/O를 제어하는 데 사용한다. #define LED_CON *((unsigned char *)0x8000) #define SET_CON *((unsigned char *)0x8100) Buzz, Relay1, Relay2는 특정 핀 번호에 할당하며, 그다음의 라인에서는 이러한 핀을 켜고 끄기 위한 비트 마스크를 정의한다. #define Buzz 6 #define Relay1 0 #define Relay2 1 #define Relay1_on 1

임베디드시스템 포토센서를 활용한 외부 인터럽트 제어

외부 인터럽트 미리 배정되어 있는 처리기의 핀으로 입력되는 트리거 신호에 의해 발생하는 인터럽트이다. 프로그램에 의해 발생하는 타이머/카운터 인터럽트와 비교하면 외부 인터럽트는 하드웨어적인 인터럽트라 할 수 있고 주변 장치들의 요청에 가장 신속하게 대처할 수 있는 인터럽트의 대응 방식이다. 글쓴이가 공부할 때 사용하는 ATmega128 보드 에서는 ... 외부 인터럽트 관련 레지스터 외부 인터럽트 마스크 레지스터 : EIMSK("External Interrupt Mask Register") EIMSK 레지스터는 외부 인터럽트를 사용하거나 무시할지를 제어하는 데 사용하는데, 외부 인터럽트는 외부에서 발생하는 신호나 이벤트에 응답하여 마이크로컨트롤러의 실행을 중단하고 특정한 인터럽트 서비스 루틴(ISR)을 ..

임베디드시스템 스위치 버튼을 통한 LED 응용

1번 스위치 : 홀수 번째 LED 점등 2번 스위치 : 짝수 번째 LED 점등 3번 스위치 : LED들이 Shift Left 4번 스위치 : LED들이 Shift Right 5번 스위치 : 모든 LED 점등 6번 스위치 : 두개의 LED들이 Shift Left되며 점등 7번 스위치 : 두개의 LED들이 Shift Right되며 점등 8번 스위치 : 크리스마스 트리. /* 날짜 : 2023-10-17 작성자 : 권xx 설명 : 스위치 입력에 따라 LED를 제어하는 프로그램. */ #include #include #define LED_CON *((unsigned char *)0x8000) // LED Control bus void main(void) { unsigned char SW = 0; // 변수 SW..

임베디드 시스템 스위치를 이용한 LED 구동

#include // 머크로티에서 Mega128을 위한 헤더 파일을 가져옵니다. #define LED_CON *((unsigned char *)0x8000) // LED_CONTROL을 위한 메모리 주소를 정의합니다. void main(void) { // 메인 함수 시작 DDRB = 0x00; // PORTB를 입력으로 설정 (0x00은 모든 핀을 입력으로 설정합니다). MCUCR = 0X80; // 외부 메모리 및 I/O 제어를 활성화합니다. // 외부 I/O 디바이스 초기화 LED_CON = 0X00; // LED GLCD 제어 버스를 초기화합니다. while(1) { // 무한 루프 시작 static unsigned char Switch_Button = 0; // 스위치 버튼 값을 저장하기 위한 변..