Вы не оцениваете переменную exitStatus
, которая может указывать на то, что чтение прошло успешно.
Также вам не нужно выделять память, если вы хотите прочитать только один байт, вы можете просто передатьуказатель на локальную переменную char.
И пока я в нем, тип для main - либо int main()
, либо int main(int argc, char** argv)
int main()
{
int exitStatus;
unsigned int bytesToRead = 1;
unsigned char buffer;
Serial *connection = new Serial("COM3");
if(connection->IsConnected()){
exitStatus=connection->ReadData(&buffer, 1);
if((exitStatus == <Insert the value for a correct read status>) && (buffer != '0'))
<statement I'm trying to hit>
}
return 0;
}
update Изменена проверка! = 0 на! = '0', так как я подозреваю, что из последовательного интерфейса идет символ '0' (= 0x30).