Я работаю с PI C и успешно получил один символ, полученный через UART, однако теперь мне нужно захватить входящую последовательность символов, создать строку и выполнить действие после получения возврата каретки , У меня есть некоторый предыдущий опыт работы с PHP, и я подумал, что все будет гораздо проще, чем оказалось.
Я изменил свой простой код с работающими функциями UART, чтобы попытаться объединить полученные символы следующим образом и создать строку:
#include "mcc_generated_files/mcc.h"
#include "string.h"
unsigned char InChar;
char Temp[5];
char Command[32];
void UART_Demo_Command_INT(void)
{
if(eusartRxCount!=0)
{
InChar=EUSART_Read(); // read a byte for RX
strcat(Command,InChar); //concat Command with InChar, result in Command
printf = printf("Command String: %s \n", Command);
}
}
Я получаю ряд ошибок:
UART_Demo.c:115:24: warning: incompatible integer to pointer conversion passing 'unsigned char' to parameter of type 'const char *' [-Wint-conversion]
strcat(Command,InChar); //concat Command with InChar, result in Command
^~~~~~
C:\Program Files (x86)\Microchip\xc8\v2.10\pic\include\c99\string.h:36:55: note: passing argument to parameter here
char *strcat (char *__restrict, const char *__restrict);
^
UART_Demo.c:116:16: error: non-object type 'int (const char *restrict, ...)' is not assignable
printf = printf("Command String: %s \n", Command);
~~~~~~ ^
1 warning and 1 error generated.
Потратив несколько часов, пытаясь это исправить и ни к чему не привел, я надеюсь некоторые из вас могут помочь.