Det finns färdiga rutiner för att skicka och ta emot en byte i taget och för att kolla om det finns någon data på ingången.
Att sätta ihop en funktion som plockar in en sträng och spottar ut den på USARTen är inga problem. Men hur gör jag när jag vill kolla om jag får tillbaka en viss sträng?
Kod: Markera allt
char * Usart_Read_String(unsigned short langd) {
char *text, *indata;
unsigned short i;
for(i=0;i<langd;i++) {
while(!Usart_Data_Ready()) {}
IntToStr(Usart_Read(), indata);
strcat(text, indata);
}
return text;
}
Jag vill kolla om svaret på ett kommando jag skickar till en extern enhet över RS232 är tex "OK".