2015-08-06 2 views
1

Я работаю над программой для считывания с датчика близости с помощью 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... 
     } 
} 

Когда я пытаюсь отлаживать его, я получаю эту ошибку:

Please enlighten me with this error

и я получил can't open file от отладки окна, показывающие, что при открытии порта возникает проблема.

Некоторые ДОПОЛНИТЕЛЬНО:

  1. Почему VC++? Я также использую OpenCV и некоторые математические вычисления в одной и той же программе, поэтому мне легче работать в VC++
  2. Я также тестировал свою программу UNO с помощью TeraTerm для чтения данных без проблем (= без проблем с моей UNO)
  3. Я тестировал выше программу с другим микроконтроллером (не Arduino) без проблем.

При необходимости я загружу свою программу UNO.

Заранее благодарен!

ответ

1

На странице MSDN на CreateFile:

To specify a COM port number greater than 9, use the following syntax: "\.\COM10". This syntax works for all port numbers and hardware that allows COM port numbers to be specified.

+0

Тем не менее получил ошибку, но я изменил настройки на COM2 устройство и это сработало! Большое спасибо! –

+0

BTW его '\\. \ COM10' (двойная косая черта) –

Смежные вопросы