인프런 커뮤니티 질문&답변

Taewan Sung님의 프로필 이미지
Taewan Sung

작성한 질문수

바닥부터 시작하는 STM32 드론 개발의 모든 것

4-1. Flysky FS-i6 송신기 설정 및 FS-iA6B 수신기 i-Bus 데이터 수신

FS-i6 송신기에서 데이터가 엄청 들어옵니다.

작성

·

335

0

송신기를 1초 정도 켰다 껐는데 터미널에 데이터가 쏟아져 들어옵니다. 그러다가 터미널 프로그램이 먹통이 됩니다.

설정이 다른게 있을까요?

답변 6

1

ChrisP님의 프로필 이미지
ChrisP
지식공유자

안녕하세요!

전자가 맞습니다.

iBus 수신기는 FC의 상태를 알 수 없으며, 상태에 상관없이 약 133Hz의 속도로 32바이트 프레임 데이터를 계속 스트리밍 해줍니다.

FC는 충분히 빠른 속도로 데이터를 파싱하므로 실시간으로 처리할 수 있습니다.

만약 FC의 처리속도가 느리다면 데이터를 제때 처리하지 못하고 오버헤드가 생기겠죠.

1

ChrisP님의 프로필 이미지
ChrisP
지식공유자

안녕하세요! 먹통이 되는 이유는 사용하시는 Terminal 1.9b 프로그램이 버퍼관리가 제대로 되어있지 않아서 그럴 겁니다. 저도 같은 터미널을 쓰면 같은 증상이 생기거든요~

해당 터미널 프로그램은 데이터가 너무 빨리 들어오면 바로 뻗어버립니다. 다른 프로그램을 사용해보시던지, 아니면 데이터를 천천히 보내보세요.

iBus 데이터를 보내신 것 같은데, 32바이트 데이터 프레임은 문제없이 잘 들어오는 것 같습니다. 따라서 설정은 안바꾸셔도 될 것 같네요~

0

ChrisP님의 프로필 이미지
ChrisP
지식공유자

네 맞습니다. 진행하면서 파트 마무리때마다 타임라인에 대해서 설명드리는데, 그 내용을 보시면 훨씬 이해하기 쉬우실 겁니다.

제 FC 보드의 성능이 상용품에 비해 전혀 뒤떨어지지 않아요~

그럼 앞으로도 안전하고 즐거운 개발 되시기 바랍니다!

0

Taewan Sung님의 프로필 이미지
Taewan Sung
질문자

답변 감사합니다~ 그렇다면 FC가 엄청 빠른거네요. FC가 자기 할일 하면서 UART로 들어오는 센서 데이터들을 처리하고 iBus 데이터도 파싱하고... 결론적으로 FC가 받는 모든 인터럽트들을 매 인터럽트간의 시간안에 요청된 일을 모두 처리할 수 있다는 거군요.

0

Taewan Sung님의 프로필 이미지
Taewan Sung
질문자

아~ 한 가지만 더 문의드립니다. iBus 수신기에서 115200 속도로 FC에 데이터를 보내고 있는데요. FC는 이 데이터를 수신 인터럽트로 받아서 파싱하고 데이터를 저장합니다. 그렇다면 수신 데이터를 모두 잘 받으려면 FC 처리 속도가 iBus 수신기에서 보내는 속도 보다 빠르면 되는건가요? 아니면 FC가 데이터를 처리하기까지 iBus 수신기가 데이터를 대기시키는건가요? 

0

Taewan Sung님의 프로필 이미지
Taewan Sung
질문자

일단 터미널 프로그램이 원인인걸로 생각하고 넘어가야겠습니다. 다음 강좌에서 iBus 데이터 파싱해서 체크섬까지 잘 됩니다. 감사합니다~ 

Taewan Sung님의 프로필 이미지
Taewan Sung

작성한 질문수

질문하기