STM32 & C언어 디자인 패턴
close
프로필 배경
프로필 로고

STM32 & C언어 디자인 패턴

  • 분류 전체보기 (171)
    • ▶ STM32 (63)
      • News (8)
      • 회로리뷰 (12)
      • Peripheral (37)
      • 개발환경 (6)
    • ▶ C Application (28)
      • 디자인 패턴 (22)
      • App 만들기 (6)
    • ▶ ARM Core (10)
    • ▶ RTOS (7)
      • RTOS 만들기 (7)
      • FreeRTOS (0)
      • ThreadX (0)
    • ▶ 일상리뷰 (3)
    • ▶ 이전글 (53)
      • C Pattern (25)
      • C Coding (7)
      • Linux (5)
      • Programming (6)
      • Book Reference (10)
  • 홈
  • 태그
  • 방명록
  • Github
App state machine 만들기 #1 app.h

App state machine 만들기 #1 app.h

이전 포스트에서 설명한 state machine 은 현재 application의 상태를 상황에 맞게 active app state를 변경하여 해당 상태에 있을 경우 들어오는 이벤트, 메시지 처리, 이외 요청들을 처리하도록 만듭니다. 또한 원한다면 현재 상태(state)에서 다른 상태(state)로 전환을 할 수도 있습니다. ​ C언어에서는 몇가지 코딩의 제약이 있지만 간단하게 state machine을 만들 수 있으며 우리는 이것을 app state(혹은 app)이라고 편하게 부르도록 하겠습니다. ​ app state 들은 간략하게 다음의 필수 요건이 있습니다. app을 생성,삭제, 전환등을 할 controller 필요 app은 이벤트를 받을 수 있음 app끼리 전환 할 수 있음 app은 하나만 동작 가..

  • format_list_bulleted App 만들기
  • · 2023. 11. 15.
  • textsms

플랫폼 만들기

개발자는 어떤 목적으로 프로그램을 만듭니다. 그 프로그램은 목적을 수행하기 위해 부단히 노력하며 자원을 소모합니다. 목적을 수행하는 프로그램이 다수에 의해 사용되고 사용자들을 그 프로그램에 종속시키고자 한다면 플랫폼을 만들면 됩니다. 플랫폼은 API로 이루어져 있습니다. 결국 가장 상위의 개발자는 플랫폼 위에 API를 사용하면서 자신의 어플리케이션을 그 위에 얹으면 되는 형식으로 개발하게 됩니다. 아래는 이러한 플랫폼을 개발하기 위해서 API를 설계하고자 할 때 자주 사용하는 패턴들입니다. ObserverTemplateWrapperAdapter 플랫폼 개발자는 사용자(상위 개발자)에게 미리 제공하고자 하는 기능의 interface를 구현해야하며, Hook나 Add On을 이벤트를 넣을 수 있도록 아키텍쳐..

  • format_list_bulleted Programming
  • · 2015. 1. 21.
  • textsms
Singleton 패턴

Singleton 패턴

[네이버 지식백과]singleton 패턴 (쉽게 배우는 소프트웨어 공학, 2015. 11. 30., 한빛아카데미(주)) 프로그램 전체적으로 한개의 자원을 사용하는 경우 적용할 수 있는 Singleton. 예를 들면 GPS, G sensor, 온도센서와 같은 모듈은 보통 한개의 제품에 한개씩 들어있습니다. 각각의 모듈을 초기화하고 사용하는 C Class를 만든다면 다음과 같이 Singleton을 활용할 수 있습니다. #define null (void *)0 typedef struct { InitFunction init; OpenFunction open; ConnetFunction connection; //... (필요시 추가) }Device; Device *getGpsInstance() { static D..

  • format_list_bulleted C Pattern
  • · 2014. 10. 13.
  • textsms
Observer 패턴

Observer 패턴

[네이버 지식백과]observer 패턴 (쉽게 배우는 소프트웨어 공학, 2015. 11. 30., 한빛아카데미(주))Observer 패턴은 정말 많이 사용하는 패턴입니다. 자바 프레임워크에서도 쉽게 찾을 수 있습니다. 우리가 흔히 쓰는 Java C#에서 Event Listener 들이 이 종류에 속하지요.Observer pattern을 예제를 위해서는 observer_t: 관찰자 Structure calculate_temperature : 온도를 측정하는 루틴 display_degree_handler : 화면에 측정된 온도를 표시하는 루틴 file_write_degree_handler : 파일에 측정된 온도를 표시하는 루틴 우선 헤더를 보겠습니다.observer_handler_t 가 바로 관찰자 콜백함수..

  • format_list_bulleted C Pattern
  • · 2014. 10. 2.
  • textsms
State 패턴

State 패턴

[네이버 지식백과]state 패턴 (쉽게 배우는 소프트웨어 공학, 2015. 11. 30., 한빛아카데미(주)) 스테이트 패턴은 좀 헷갈리는 부분이 있습니다. 대부분의 패턴은 if 문과 같이 버그를 유지보수나 버그를 양산하기 쉬운 코드를 없애고 확장하기 쉽게 하도록 구조를 가져갑니다. 이중 스테이트 패턴은 각 상태가 바뀔 때 마다 늘어나는 if문을 없애는 패턴입니다. 즉 상태들 끼리 서로의 상태를 바꿔가며 동작하기 때문에 유지보수도 쉽고 확장도 용이합니다. 그러나 상태변화에 대한 명확한 이해와 구조를 어떻게 가져가야 할지에 대한 고민이 필요합니다. 다소 생소하게 보일지 모르지만 한번 구현해 보도록 하겠습니다.예제는 아주 단순한 불을 끄고 켜고하는 기능을 스테이트 패턴으로 구현해 보았습니다. 실제로 구동해..

  • format_list_bulleted C Pattern
  • · 2014. 10. 2.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
공지사항
  • [2023.11.15] App State machine 글 게재
  • [2023.11.3] 티스토리 다시 시작합니다
전체 카테고리
  • 분류 전체보기 (171)
    • ▶ STM32 (63)
      • News (8)
      • 회로리뷰 (12)
      • Peripheral (37)
      • 개발환경 (6)
    • ▶ C Application (28)
      • 디자인 패턴 (22)
      • App 만들기 (6)
    • ▶ ARM Core (10)
    • ▶ RTOS (7)
      • RTOS 만들기 (7)
      • FreeRTOS (0)
      • ThreadX (0)
    • ▶ 일상리뷰 (3)
    • ▶ 이전글 (53)
      • C Pattern (25)
      • C Coding (7)
      • Linux (5)
      • Programming (6)
      • Book Reference (10)
최근 글
인기 글
최근 댓글
태그
  • #STM32
  • #MCU
  • #arm
  • #디자인 패턴
  • #STM32G4
  • #C언어
  • #STM32H7
  • #디자인패턴
  • #rtos
  • #C언어 패턴
전체 방문자
오늘
어제
전체
Copyright © STM32 & C언어 디자인 패턴 All rights reserved.
Designed by JJuum

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.