Page 129 - MDP2022-3
P. 129
{
ch = Getch();
if(ch == 0x0d) {
// parser start
handle = (rxBuffer[0] - 0x30) * 1000 + (rxBuffer[1] - 0x30) * 100 +
(rxBuffer[2] - 0x30) * 10 + (rxBuffer[3] - 0x30);
// 서보모터에 구분된 신호 저장
OCR1A = handle;
// 모터 동작 함수에 플레그 지정
if(rxBuffer[5] == 'c')arrowFlag = 0;
else if(rxBuffer[5] == 'a')arrowFlag = 1;
else if(rxBuffer[5] == 'b')arrowFlag = 2;
motorMove(arrowFlag);
// reset
index = 0;
}
else {
rxBuffer[index++] = ch;
}
}
}
void Putch(char data)
{
while(!(UCSR1A & 0x20))
UDR1 = data;
}
#수신함수
char Getch(void)
{
while(!(UCSR1A & 0x80)); // UCSR0A의 준비완료 7번비트가 1이되면 참
return UDR1; //참이되면 UDR0 버퍼로 입력된 데이터를 가지고 함수를 호출
한 main으로 도라감
}
void setPins()
{