visual-studio-2010 - 使用Visual Studio 2010和C的串行通信(用于Arduino)

标签 visual-studio-2010 opencv serial-port arduino

我目前面临一个小问题。我目前正在使用Microsoft Visual Studio 2010 Professional和OpenCV进行一些视频(图像)检测和跟踪,(视觉系统)的结果是通过Arduino平台控制其他硬件。

我的视觉系统代码可以100%工作,而Arduino上的代码也可以100%工作,但是我在通过C / C++从PC到Arduino板进行通信时遇到了问题。 (不能使用Visual Basic等。)

目前的规格:Windows 7平台,Visual Studio 2010,OpenCV 2.2.0,Arduino 0022,Arduino Mega开发板,2个用于仿真的USB到串行转换器。

我的代码似乎甚至没有运行。但是,我在下面的示例中使用#opc0de。但是,为了说明我的观点,下面的代码似乎不起作用(永远不要声明COM打开(是的,我更改为写入端口))。 (将两条串行电缆相互连接,分别插入两个不同的COM端口 super 终端,realterm等,可以100%正常工作。我的代码和下面的代码似乎根本不起作用)。 (我的代码长+-800行,由于COMs部分与下面的内容非常相似,所以我不希望发布内容)。我只希望串行通讯能够正常工作。

我想从COM中获得的只是发送文本字符串“x = ### y = ###”的能力,因此即使是一段简单的代码也可以做到(如下所示)(我想稍后阅读,但此刻我并不担心)

链接到代码:Stack Overflow - opc0de

#include <Windows.h>
#include <stdio.h>
#include <conio.h>

int _tmain(int argc, _TCHAR* argv[])
{
    char test[] = "Hello";

    HANDLE hDevice = CreateFile(L"COM2",GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,0);

    if (hDevice !=INVALID_HANDLE_VALUE)
    {
        printf("Port opened! \n");
        DCB lpTest;
        GetCommState(hDevice,&lpTest);
        lpTest.BaudRate = CBR_9600;
        lpTest.ByteSize = 8;
        lpTest.Parity = NOPARITY;
        lpTest.StopBits = ONESTOPBIT;
        SetCommState(hDevice,&lpTest);

        DWORD btsIO;

        WriteFile(hDevice,test,strlen(test),&btsIO,NULL);

        CloseHandle(hDevice);
    }
    _getch();
    return 0;
}

最佳答案

检查您的代码以确保其可单独运行:

首先,使用COM记录器。来自MS的老旧终端是最糟糕的,但是我现在不记得了。查看您的C++代码是否在其中发送了一些内容。如果不是,请使其工作:)如果是,请使用Arduino调试通信问题。在Arduino上创建一个简单的记录器,以查看另一端收到的内容以及处理方式。

关于visual-studio-2010 - 使用Visual Studio 2010和C的串行通信(用于Arduino),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8181685/

相关文章:

visual-studio - 是否有如下图所示移动光标的快捷方式?

asp.net - 无法在 Web 服务器上启动调试。无法启动 ASP.NET 调试 VS 2010、II7、Win 7 x64

opencv - cv::Mat::zeros 初始化问题

python - 如何通过opencv生成RGB直方图

opencv - 如何混合 80x60 热图像和 640x480 RGB 图像?

c# - C#中如何从串口读取字节数组

python - 如何从串口完全读取数据?

c++ - 有哪些工具可以帮助查找句柄的内存泄漏?

visual-studio - 将 Visual Studio 函数列表下拉排序为代码顺序而不是字母顺序

python - input() 阻塞进程的使用