Я работаю над программой для считывания с датчика близости с помощью Arduino UNO. Хотя я могу легко получить показания с помощью встроенного Serial Monitor Arduino, я как-то не могу открыть тот же порт из MS VC++.Утверждение отладки Сбой при открытии COM-порта
Ниже (одна часть) программы:
int main(void)
{
/*used for port"COM13"*/
HANDLE hCom=INVALID_HANDLE_VALUE;
char input[30];
string ss,ss1,ss2,ss3,ss4;
/*Open "COM13"*/
hCom=CreateFile("COM13",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
if(hCom==INVALID_HANDLE_VALUE)
{
printf("can't open file");
}
/*Communication Setting*/
DCB dcb;
memset(&dcb,0,sizeof (DCB));
dcb.DCBlength=sizeof (DCB);
dcb.BaudRate=CBR_9600;
dcb.ByteSize=8;
dcb.Parity=NOPARITY;
dcb.StopBits=ONESTOPBIT;
SetCommState(hCom,&dcb);
while(1)
{
//using the data string inputs, printout the readings, process it etc...
}
}
Когда я пытаюсь отлаживать его, я получаю эту ошибку:
и я получил can't open file
от отладки окна, показывающие, что при открытии порта возникает проблема.
Некоторые ДОПОЛНИТЕЛЬНО:
- Почему VC++? Я также использую OpenCV и некоторые математические вычисления в одной и той же программе, поэтому мне легче работать в VC++
- Я также тестировал свою программу UNO с помощью TeraTerm для чтения данных без проблем (= без проблем с моей UNO)
- Я тестировал выше программу с другим микроконтроллером (не Arduino) без проблем.
При необходимости я загружу свою программу UNO.
Заранее благодарен!
Тем не менее получил ошибку, но я изменил настройки на COM2 устройство и это сработало! Большое спасибо! –
BTW его '\\. \ COM10' (двойная косая черта) –