목록(Telechips) AI 시스템 반도체 SW 개발자 교육/ATmega128A 마이크로컨트롤러 프로그래밍 (12)
printf("ho_tari\n");

2025.03.07 오늘의 학습 목표1. Timer INT2. delay 함수를 Timer로 변경 처리3. FND timer 처리4. 과제 code review 폴링 vs. 인터럽트 폴링- 코드 나열 순서에 의해 실행 순서 결정- 모든 코드는 동일한 실행 우선 순위를 가짐- 코드 A에 의해 코드 B의 실행이 지연될 수 있음- 정해진 순서에 따라 실행되는 구조로 하드웨어의 지원은 필요하지 않음- 코드 작성 및 이해가 쉬움 인터럽트- 우선 순위에 따라 실행 순서 결정- 인터럽트에 따라 서로 다른 실행 우선 순위를 가짐- (우선 순위가 낮은) 코드 A에 의해 (우선 순위가 높은) 코드 B의 실행이 지연되지 않음- (우선 순위가 높은) 비정상적인 코드를 먼저 실행되는 구조로 하드웨어에 의해 우선 순위에 따른 처..

2025.03.06 오늘의 학습 목표1. 1 button 처리2. 생태천이 (FSM)3. switch~case를 함수 포인터로4. FND 제어5. Timer INTERRUPT processor : CPUprocess : 현재 돌고 있는 program을 의미 1 BUTTON LED 제어 (switch~case 사용)#define F_CPU 16000000UL // 16MHZ Unsigned Long#include #include // _delay_ms, _delay_us 헤더파일#include "button.h"extern int led_main(void); // 함수가 다른 파일에 들어있으면 extern으로 선언extern void init_button(void); // 함수가 다른 파일에 들어있으면 ..

2025.03.05 Notepad 다운 KiCAD 다운 오늘의 학습 목표- LED 제어 / Button 제어 / LED -- Button 연동 아스키코드 /* * 01.LED_CONTROL.c * * Created: 2025-03-04 오후 4:25:29 * Author : microsoft */ #define F_CPU 16000000UL // 16MHZ Unsigned Long#include #include // _delay_ms, _delay_us 헤더파일// none o/s 방식 또는 loop monitor 방식void main(void){ //76543210 DDRA = 0b11111111; // PORTA를 출력 모드(1)로 설정 // ---- 상위 nibble : 상위 4..

2025.03.04 수업을 진행하기 전 C언어 코딩 실력 정도를 가늠하기 위한 문제 풀이를 하였다. 주어진 문제는 다음과 같다. 강의 목적모든 전자 제품에서 반드시 사용되고 있는 마이크로컨트롤러(MCU) 구조 및 동작 방식 등의 하드웨어에 대한 기본 지식과 C 언어를 이용한 MCU 프로그램 작성 방법을 배워 임베디드 시스템을 구현하는 실무 능력을 배양 오늘의 학습 목표1. AVR 소개2. 브레드 보드 + ATmega128a + LED + BUTTON 조립3. 개발 환경 Setup4. LED 제어 • 마이크로프로세서 (uP)– 중앙처리장치(CPU)를 하나의 IC 칩으로 집적시켜 만든 반도체 소자 • uP는 CPU를 구현하는 한 방법– 1969년 인텔의 4비트 uP인 4004에서 시작– 4004는 ..