본문 바로가기

임베디드9

[Harman 세미콘 아카데미] 44일차 - Embedded Project(선풍기 만들기 / ATmega128 / AVR) [Mission] Main Project 1. Button을 활용하여 stop, 1단, 2단, 3단 기능 구현 2. DC Motor를 활용하여 Fan 구현 3. LCD로 현재 status 출력 4. 각 stage별로 LED Lamp 출력 Advanced mission 1. Servo motor를 활용하여 Head 회전 기능 구현 2. 내부 clock을 활용하여 Timer 기능 구현 3. 초음파 센서를 활용한 Em'cy Stop 기능 구현 [Result] Flow Chart Pin Configuration Code Button_structure.h 더보기 #ifndef INCFILE1_H_ #define INCFILE1_H_ #include // LED LAMP 입출력 방향 설정 레지스터와 포트 지정 #d.. 2023. 8. 29.
임베디드 시스템의 핵심 기술, RTOS란? - Part.1 (기본 개념 및 특징, FreeRTOS, OSEK/VDX, 용어 정리-Task, Deadline 등) [OS - Operating System] OS란? Operating System의 약자로, 운영체제라고 부르기도 한다. 응용프로그램이 요청하는 시스템 자원을 효율적으로 분배하고 관리하는 기능을 하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임으로 사용자와 하드웨어(입출력, Memory) 간의 인터페이스로서 동작하는 시스템 소프트웨어이다. 즉, 응용프로그램이 요청하는 시스템 자원을 효율적으로 분배하고 관리하는 기능을 한다. 대표적인 운영체제로는 Windows, Mac, UNIX, LINUS가 있다. - 기능 - ① 응용프로그램이 요청하는 메모리를 허가하고 분배 ② 응용프로그램이 요청하는 CPU 시간을 제공 ③ 응용프로그램이 요청하는 입출력 장치 사용 여부.. 2023. 8. 16.
[Harman 세미콘 아카데미] 24일차 - ATmega128(PWM 활용, Servo Motor) [참조] https://rangvest.tistory.com/manage/newpost/101?type=post&returnURL=https%3A%2F%2Frangvest.tistory.com%2Fmanage%2Fposts https://rangvest.tistory.com/manage/newpost/101?returnURL=https%3A%2F%2Frangvest.tistory.com%2Fmanage%2Fposts&type=post rangvest.tistory.com https://rangvest.tistory.com/manage/newpost/73?type=post&returnURL=https%3A%2F%2Frangvest.tistory.com%2Fmanage%2Fposts%3Fcategory%3D.. 2023. 7. 20.
[Harman 세미콘 아카데미] 18일차 - Timer/Counter, Interrupt 실습 [Timer/Counter] #define F_CPU 160000000UL #include #include // 인터럽트 사용을 위한 헤더파일 #include int cnt; // 카운트 값을 저장할 변수 선언 ISR(TIMER0_OVF_vect){ // 타이머/카운터 0번의 오버플로우 인터럽트 서비스 루틴 함수 // cnt++; TCNT0 = 131; // 약 2ms를 만들기 위한 초기값 if(cnt == 500) // 500번째 인터럽트 발생 시 LED 출력을 변경함. 약 1초(1,000ms) { PORTD = ~PORTD; // 출력 반전 cnt = 0; } } int main(void) { DDRD = 0xff; //PORTD = 0x00; // 다 꺼진 것을 시작 PORTD = 0xaa; // .. 2023. 7. 12.