문제 해결 (공통) 

문제 : 첫 적용시 easyDSP 통신 실패

원인 : 여러가지 이유로 인해 easyDSP 통신 실패가 가능합니다. 하기 체크 포인트를 확인하세요.
체크 포인트 1 : 램부팅 또는 플래시 프로그래밍이 정상적으로 수행되지 않는다면 하드웨어 설정을 확인하시기 바랍니다.
                   특히 커넥터 결선이 제대로 되어 있는지, 커넥터, 케이블에 접촉 불량이 없는지를 확인해주세요.
                   디버거로 MCU를 동작시키고, 모니터링이 되는지 (즉, 하드웨어 및 소프트웨어 설정이 제대로 인지) 확인해주세요.
체크 포인트 2 : easyDSP 제공 소스파일 및 헤더 파일이 사용자 프로젝트에 포함되어야 합니다.
체크 포인트 3 : easyDSP 제공 헤더 파일에서 #define 전처리기 변수를 시스템에 맞게 설정해야 합니다.
체크 포인트 4 : main.c에서 easyDSP 통신에 필요한 함수가 호출되어야 합니다.
체크 포인트 5 : easyDSP 제공 헤더 파일의 통신 속도와 easyDSP 프로젝트에서 설정된 통신 속도가 서로 일치해야 합니다.
체크 포인트 6 : easyDSP에서 사용하는 통신 포트 (SCI, UART)가 사용자 프로그램에 의해 다른 GPIO에 할당되어 있지 말아야 합니다.
체크 포인트 7 : easyDSP에서 사용하는 GPIO 포트가 사용자 프로그램에 의해 다른 용도로 설정되어 있지 말아야 합니다.

체크 포인트 8 : easyDSP 통신을 수행하는 ISR(Interrupt Service Routine)에 충분한 시간 리소스가 할당되어야 합니다. 하기 참조 바랍니다. 

문제 : 통신 시간 부족으로 인한 통신 오류

해결 : easyDSP는 MCU의 통신 인터럽트(우선순위는 하위)를 이용하여 통신합니다. 만약 사용자 프로그램 동작 중 상위 인터럽트 루틴 (ex, 타이머 인터럽트)에서 절대적인 시간을 많이 차지할 경우,
하위 인터럽트가 수행되는 시간이 부족하면 상기 현상이 발생됩니다. easyDSP의 통신 절차는 하기와 같습니다.
step 1 : PC가 주어진 bps로 문자(커맨드)를 MCU에 보냄. 그리고 PC는 일정 시간 동안 대기함. (메뉴의 wait more time은 이 대기하는 시간을 연장함)
step 2 : MCU는 PC로부터 전송된 문자를 해석하여 어떤 지령을 내리는 지를 파악(ex, read)한 후, 이에 맞게 PC에 다시 문자를 보냄.
step 3 : 대기하였던 PC는 대기 시간이 완료된 후, MCU로부터 전달된 문자를 읽어서 화면에 표시
하위 인터럽트 수행 시간이 짧아지게 되면, Step2에서 MCU가 제대로 동작을 완료하기도 전에 step3에서 PC가 처리하게 됩니다. 따라서 통신이 깨지는 것입니다.
해결 방법으로 하기 2가지를 적절히 사용하시기 바랍니다.
1. Wait more time을 더 길게 설정한다.
2. 통신 BPS를 낮춘다 (이로 인해 step 1에서 PC가 대기하는 시간이 길어지게 됩니다).
3. 통신하는 변수 개수를 최소화 (예를 들어, 커맨드 윈도우만 사용)
4. 가능하다면 easyDSP 통신 인터럽트의 순위 상향

문제 : 초반에는 easyDSP 통신이 동작하는데 이후 곧 동작되지 않는다

해결 : easyDSP는 MCU의 최하순위 통신 인터럽트를 사용합니다. 만약 MCU 프로그램 동작 중 MCU의 처리부분이 급증하여 본 인터럽트 루틴에 할당된 동작 시간이 부족할 경우 본 현상이 발생하게 됩니다. 따라서 충분한 시간을 확보하여 주는 것만이 해결 방법입니다. .
해결 : 일부 시스템에서는 시스템 동작중 전력 소자 스위칭으로 인한 노이즈 발생으로 통신이 실패할 수 있습니다. 적절한 노이즈 대책을 수행하시기 바랍니다. 예를 들어 광 케이블 버전 사용.

문제 : easyDSP 연결이 안되거나 원활하지 않아서 하기 메시지 발생

원인 : 물리적 연결 오류
해결 : PC와 easyDSP pod간 직접 연결 (USB 확장 포트 사용하지 말고) 내지는 사용 USB 포트 변경 및 USB 케이블 변경


문제 : 하기와 유사한 오류 메시지 발생

원인 : 32비트 윈도우즈 사용
해결 : 64비트 윈도우즈 사용