C\C++ 10

OpenGl을 이용한 간단한 태양계 구축 프로젝트(3)

2023.11.18 - [C\C++/OpenGL] - C/C++ OpenGl을 이용한 간단한 태양계 구축 프로젝트(2) C/C++ OpenGl을 이용한 간단한 태양계 구축 프로젝트(2) 2023.11.08 - [C\C++/OpenGL] - C/C++ OpenGl을 이용한 간단한 태양계 구축 프로젝트(1) C/C++ OpenGl을 이용한 간단한 태양계 구축 프로젝트(1) Windows MFC (Microsoft Foundation Classes)를 사용하여 OpenGL을 초기화하고 간 sun-dori.tistory.com 목차 OpenGL 재질효과 OpenGL에서 재질(Material)은 물체가 빛과 상호 작용하는 방식을 제어하는 데 사용되는 속성의 힙합이먀, 재질은 주변광, 확산광, 반사광 등을 포함한 ..

C\C++/OpenGL 2023.11.24

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

릴레이 부저 제어 테스트 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)을 ..

C/C++ OpenGl을 이용한 간단한 태양계 구축 프로젝트(2)

2023.11.08 - [C\C++/OpenGL] - C/C++ OpenGl을 이용한 간단한 태양계 구축 프로젝트(1) C/C++ OpenGl을 이용한 간단한 태양계 구축 프로젝트(1) Windows MFC (Microsoft Foundation Classes)를 사용하여 OpenGL을 초기화하고 간단한 2D 그래픽을 렌더링 하는 뷰 클래스를 사용하여 간단한 태양계 구축하기. 이번에는 OpenGL을 사용하여 태양계 모델링을 구 sun-dori.tistory.com 저번 글에 이어서 이번에는 조명 효과를 넣어보고자 한다. OpenGL 조명 효과 조명의 종류 주변광 (Ambient Light) : 모든 방향에서 나타나는 조명으로 모든 물체에 균일하게 영향을 미친다. 주변 어디에서나 나오는 일반적인 빛을 말하..

C\C++/OpenGL 2023.11.18

임베디드시스템 스위치 버튼을 통한 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; // 스위치 버튼 값을 저장하기 위한 변..

C/C++ OpenGl을 이용한 간단한 태양계 구축 프로젝트(1)

Windows MFC (Microsoft Foundation Classes)를 사용하여 OpenGL을 초기화하고 간단한 2D 그래픽을 렌더링 하는 뷰 클래스를 사용하여 간단한 태양계 구축하기. 이번에는 OpenGL을 사용하여 태양계 모델링을 구현과 MFC(Microsoft Foundation Classes)를 사용하여 Windows 환경에서 OpenGL을 초기화하고 3D 모델을 렌더링 하여 보자. COpenGLView 클래스 COpenGLView 클래스 생성자 (COpenGLView::COpenGLView()) 클래스 생성자에서는 행성과 달의 회전 등 각도 초기화를 수행한다! COpenGLView::PreCreateWindow 함수 윈도우를 생성하기 전에 윈도 클래스 및 스타일을 수정하며, OpenGL ..

C\C++/OpenGL 2023.11.08