[문제]
시리얼 UART 통신을 통한 명령어 수신을 처리하여 아래 프로그램을 작성하시오.
(시리얼 통신은 인터럽트 방식으로 프로그램 하시오.)
1. Mode 명령어
M1Up == 1식 증가 모드
M2Dn == 1식 감소 모드
Run == 동작 시작
Stio == 동작 정지
2. 아래 명령어는 정지시에만 동작해야 합니다.
Up == 1식 증가
Dn == 1식 다운
3. FND 표시
- 정지시 : 정지시 == Up / Dn 명령어에 따른 현재 카운터값 표시
- 동작시 : 동작중인 카운터 값 표시
4. LED
- 정지시 : LED 전부 OFF
- 동작시 : 0x0F -> 0xF0 -> 0x0F -> 0xF0 반복 토글 표시되게 한다.
5. LCD
- 1라인 : 현재 동작모드 표시, Run / Stop 상태 표
- 2라인 :
동작시 == 현재 동작모드에 따라서 커운터 값 표시
Up Cnt = xxxx 표시 (xxxx == 카운터 값 표시)
Dn Cnt = xxxx 표시 (xxxx == 카운터 값 표시)
정지시 == Up / Dn 명령어에 따른 현재 카운터값 표시
6. 통신
동작시 == 현재 동작모드에 따라서 커운터 값 표시
Up Cnt = xxxx 표시 (xxxx == 카운터 값 표시)
Dn Cnt = xxxx 표시 (xxxx == 카운터 값 표시)
정지시 => 아무동작도 안함
7. OLED
- 카운터 값 표시해보시면 좋습니다.
- 메모리가 증가하여 속도가 떨어짐
- 여유 되시는분은 해보시고 안되시면 안 해도 무방합니다.