Программа для тестирования l oop обратно на последовательный порт - PullRequest
0 голосов
/ 25 апреля 2020

Программа для проверки обратной связи последовательного порта. Я нахожу проблему в номере порта последовательного порта. Как определить номер порта usb-uart моста COM39 в диспетчере устройств? Программа скомпилирована должным образом, но при выполнении она застревает.

#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
#include <math.h>
#include <dos.h>
#define MAX 5000        // max length of delay period of time
#define COM1 (unsigned short)0x006  // serial port COM1
#define COM2 (unsigned short)0x2F8  // serial port COM2
int TestSerial ();
void Delay (int num);
int TestSerial ()
{
  int index, value, result = 0;
  printf ("Begin to execute outp() & inp()...\n");
  for (index = 0; index < 10; index++)
    {
      printf ("Data sent to COM1 is: %d\n", index);
      _outp (COM1, index);
      Delay (500);
      value = _inp (COM1);
      printf ("Data returned from COM1 is: %d\n", value);
      printf ("\n");
      if (value != index)
        {
            printf ("Error in loop testing of the COM1!\n");
            result = -1;
            return result;
        }
    }
  return result;
}

void Delay (int num)
{
  int m, n, cycle = MAX;
  for (m = 0; m <= num * cycle; m++)
    n = m - 1;
  return;
}

void main (void)
{
  int rc = 0;
  printf ("\n");
  rc = TestSerial ();
  if (rc != 0)
    printf ("Error in TestSerial()!\n");
  else
    printf ("Success in TestSerial()!\n");
  return;
}

Вывод такой, как показано ниже enter image description here

Я получаю диапазон ввода-вывода для COM1 под вкладка ресурса, которую я использовал в программе изначально, но она не работала

enter image description here

Я хочу использовать программу для тестирования последовательного порта COM39, который является ничем иным, как UART на USB-мост. Там нет вкладки ресурсов для указанного COM39. Как найти диапазон ввода-вывода для порта, который будет использоваться в разделе #define? enter image description here

1 Ответ

0 голосов
/ 25 апреля 2020

Я бы посмотрел перечисление com-портов. Этот поток представляет собой пример поиска всех из них, но его легко адаптировать к поиску только COM10.

Как правильно определить все доступные последовательные порты на Windows?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...