|
안녕하세요
cortex M3임베디드 보드로부터 float타입의 데이터를 수신받아 볼렌드로 구성된 UI에서 그래프로 보이게 하려 합니다.
한번에 수신되는 데이터는 STX신호로 사용한 ';'을 시작으로 해서 6개의 float데이터형을 받는것이 목표인데요
일반 에뮬레이터에서 수신하는 데이터는 ";0.00000 0.00000 0.00000 0.00000 0.00000 0.00000/"
이지만, 볼렌드에서 수신하는 데이터는(';'출력 안함) "0.0000"뿐입니다. DebugPort->Read((void *)&rcv[0], Count); 에서의
배열 rcv에서부터 중간에 잘려버린 문자열값이 저장되는것 같습니다.
송신측 소스에서 1초딜레이를 주어 데이터 전송텀(1초)을 주어도 마찬가지 현상입니다.
한가지 이상한점은 볼렌드 실행창을 약간 조절하면 약 5턴(핸들러 호출)정도 전체 데이터를 볼 수 있고요
아래 수신하여 출력하는 소스와 스크린샷 캡쳐를 첨부합니다.
memset(&rcv[0], 0, sizeof(rcv));
DebugPort->Read((void *)&rcv[0], Count);
for(i=0;i<10;i++)
{
if(rcv[i] == ';') break;
}
if(i<10)
{
i++;
j=i;
for(;j<100;j++)
{
if(rcv[j]=='/') break;
Memo->SelText = rcv[j];
}
i=0;
j=0;
if (start==true) {
for(i=0;i<10;i++)
{
if(rcv[i] == ';') break;
}
|