atmega128a - simple traffic system_v2 (+driver)
·
하만 세미콘 아카데미 8기/임베디드 시스템을 위한 sw 구조설계
기존 simple traffic system 과의 차이점 - button & led 드라이버로 분리 - ap 라는 동작 모듈 분리 -> main.c에서 동작 함수만을 불러와서 사용하도록 수정  1. main.c #define F_CPU 16000000UL#include #include #include "driver/led/led.h"#include "driver/button/button.h"#include "driver/ap/trafficSignal.h"int main(void){ trafficSignal_init(); while (1) { trafficSignal_RUN(); }} - trafficSignal_init() : port 할당 및 초기화  - trafficSignal_RUN() : ..
atmega128a - led machine (+ driver)
·
하만 세미콘 아카데미 8기/임베디드 시스템을 위한 sw 구조설계
전체 8개의 led 有 sw0 누르면 두개씩 누적되어 켜진다 (ex. 2개, 4개, 6개, 8개) sw1 누르면 켜져있는 led 모두 꺼진다  1. main.c #define F_CPU 16000000UL#include #include #include "driver/button/button.h"#include "driver/led/led.h"#include "driver/ap/ledMachine/ledMachine.h"int main(void){ ledMachine_init(); while (1) { ledMachine_RUN(); }} 2. driver  1) button    - button.h#ifndef BUTTON_H_#define BUTTON_H_#define F_CPU 160..
atmega128a - simple traffic system
·
하만 세미콘 아카데미 8기/임베디드 시스템을 위한 sw 구조설계
간단한 신호등 제어 시스템 설계를 해보자  1. 동작  - AUTO MODE (button 0) 1) vertical_red & horizontal_green 2) vertical_red & horizontal_yellow  3) vertical_green & horizontal_green 4) vertical_yellow & horizontal_green 의 순서로 동작  - MANUAL MODE (button 1, button 2)button 1 누르면 manual mode로 진입(현재 상태 그대로 stop), 그 후 button 2를 누르면 auto모드의 순서대로 다음 순서로 넘어감 2. FSM  3. code #include F_CPU 16000000UL#include #include enum {..
240911 avr atmega led & switch 실습 - 1
·
하만 세미콘 아카데미 8기/임베디드 시스템을 위한 sw 구조설계
1. LED 오른쪽으로 2칸씩 가면서 켜졌다 다시 2칸씩 꺼지면서 돌아오기 /* * 240912.cpp * * Created: 2024-09-12 오전 10:14:39 * Author : kccistc */ #include #include #include int main(void){ DDRD = 0xff; uint8_t ledData = 0x03; while(1){ PORTD = ledData; _delay_ms(5000); if (ledData == 0xff){ for (int i = 0; i > 2); PORTD = ledData; _delay_ms(5000); } } else if (ledData == 0x03){ for (int i = 0..
ra_mi
'하만 세미콘 아카데미 8기/임베디드 시스템을 위한 sw 구조설계' 카테고리의 글 목록