PIC 장치에 대한 통신을 만들고 UDP를 사용하고 있습니다. 'R'또는 다른 문자와 같은 문자 하나를 보내면 소켓으로 보낼 수 있습니다. 코드는 그것을 이해하고 모든 것은 정상적으로 작동하지만, 정수를 보내려고 할 때 작동하지 않습니다.UDPGet에서 정수 값으로 작업하기
static UDP_SOCKET MySocket;
BYTE i;
이 작동 :
if(!UDPIsGetReady(MySocket))
return;
UDPGet(&i);
if(i == 'R') SetDCPWM1(255);
UDPGet(&i);
if(i == 'G') SetDCPWM1(155);
이 코드가 작동하지 않습니다
UDPGet(&i);
SetDCPWM1(255-atoi(i));
그것은 컴파일, 그것은, 그냥 나던 작품 충돌 나던. 문제는 문자 (문자)를 보내고받을 수 있지만 정수로 동일한 작업을 수행 할 수 없습니다. 내가 'R'을 보내고받을 수는 있지만 '1'또는 '20'을 보낼 수는 없지만 실제로는 0에서 255 사이의 정수를 보내려고합니다.
"작동하지 않는다"는 것을 의미합니까? 컴파일되지 않습니까? 그것은 추락합니까? 예상치 못한 결과가 나옵니까? – cnicutar
'(i == 'R')'당신이'255'를 보내고'G'라면'155'를 보냅니다. 여기에는 예측 가능한 매핑이 없습니다. 따라서 모든 if 문을 단일 SetDCPWM1 (255-atoi (i))으로 바꿀 수는 없습니다. –
인기있는 thrird party 라이브러리에서 언급 한 기능을 찾을 수 없으며 이는 자신의 기능임을 나타냅니다. 우리가 더 문제 – Attila