먼저 내 PIC는 16f1625이며 프로그래밍을 위해 MPLAB 8.86을 사용합니다. 내 문제는 간단합니다. PC와 PIC간에 통신하고, PC가 1 바이트를 보내고 PIC가이 바이트를 읽고 뭔가를합니다. 내 문제는 내가 PC에서 "R"과 같은 한 글자를 보내고 설정하고 싶은 번호를 보낸 후에 이렇게 개선하고 싶다. 오늘 나는 4 가지 가능성을 가지고있다. PC는 0,1,2 또는 5를 보내고 이것들에 따라 해상도를 설정한다.PIC에 명령 보내기
switch(i) {
case 1:
pulsesPerMm = 10;
break;
case 2:
pulsesPerMm = 20;
break;
case 5:
pulsesPerMm = 51;
break;
case 10:
pulsesPerMm = 102;
break;
}
나는이 같은 명령을 수신 :
이while(!RCIF) /* set when register is not empty */
continue;
return RCREG;
이 지금은 같은 것을 할 싶어 : 나는 다음 단어가 해결 될 것이라고 표시하고이 후, 2 바이트 "R"을받을 , 그 새로운 해상도가 될 것입니다 그리고 내가해야 할 것입니다 int로 문자열을 변환하는 것입니다 (atoi 사용) 그리고 나서 나는 pulsePerMm을 설정할 수 있습니다. 문제는 하나의 문자 만 필요로하는 다른 명령이 있으므로이 문자를 변경하고 싶지 않다는 것입니다.
이해가 안됩니다. PC가 데이터를 전송할 때, 그것은 단지 그것이 언제인지 알지 못한다. 그리고 그것은 끊어짐없이 직렬로 전송할 것이므로 나는 그 바이트를 'R'으로 식별 할 시간이 없다고 생각한다. –