본문 바로가기

연구&개발/Embedded

DA1458X 시리즈 DSPS 설정_ EVERNOTE

15 년 4 월 13일 오후의 일

[사설 - 주저리 ] 
DSPS 라는 14581의 Dialog Serial Port Service application 이 지랄 같이 잘만든 소스 땜시롱 혼자 머리를 싸메다.

 

RTS, CTS 라는 UART에서 내가 잘 모르는  약간 거부감이 있는, 기능을 써야만, UART 통신이 된다는 박xx차장의 말에 당황 및 현혹 되지 않고, 분명 이렇게 잘만든 소스라면, 방법이 있을거야 ... 라는 한가닥의 지푸라기라도 잡는 심정으로 여러소스를 구경하며, 롯데의 오레오 (롯데샌드 초콜렛맛) 같은걸 먹었다
젠장.. 역시 당이 좋은건가 .. 내 머리는 기름칠을 한 엔진 마냥 풀로 가동하였고, 결국에는 찾아내었다 .

[중요 한 일]

file da14580_config.h 을 수정 ~~!

기존의 DSPS에서 작동하고 있는 기능을 우리가 사용할수 있도록 modify.
1. Sleep mode disable  -> 박xx 차장이 수정 불가피하다는 부분 구라쟁이
   - ext sleep mode
   - deep sleep mode 
  이기능을 둘다 off 하니, data 전송중에 멈추는 일이 발생하지 않았다. 

/*Sleep modes*/
#undef CFG_EXT_SLEEP   
#undef CFG_DEEP_SLEEP

2. CTS, RTS -  핸드쉐이킹
  - 기존 소스는 HW 플로우 컨트롤이 적용되어있음 -> 박xx 차장이 수정 불가피하다는 부분, 구라쟁이
    이를 SW 플로우 컨트롤로 적용 후 test
  - test 3byte 전이중 통신으로, 30ms 로 송수신 한 결과 7만번의 데이터 송수신에서 오류 찾지 못함
   - > 잘된다 ~

/*UART flow control configuration. One must be enabled when*/
/*sleep is enabled.*/

#undef CFG_UART_HW_FLOW_CTRL
#define CFG_UART_SW_FLOW_CTRL


[여담]

DSPS 는 아주잘 만들어진 소스, 조금만 수정하면 누구나 할수 있는건데, 문제는 소스가 아직 익숙하지 않은 사람에게는 수정하기 힘들다는 점~