win7 下 VS2010 使用 串口库 PCommLite 1.6 动态库

测试设备:

TC35 GSM/GPRS Modem 模块—- 串口设备
https://blog.csdn.net/wowocpp/article/details/80496740

PCommLite 1.6 介绍

https://blog.csdn.net/wowocpp/article/details/80896422

win7 64位 vs2010 :

TC35 是串口测试设备,被连接到了 PC 的COM6 上。

使用 vs2010 创建一个 MFC 对话框设备:
添加一个按钮,按钮的点击事件 代码如下:

void CPCommTestDlg::OnBnClickedBtnTest()
{
    // TODO: 在此添加控件通知处理程序代码

    int port ;
    int i ;
    int ret ;

    int length;

    char ibuf[60]= {0};

    /* port =2 means ˉCOM2ˇ */
    port = 6; 

    /* Port Control, enable the port */
    ret = sio_open (port);

    if (ret != SIO_OK){

        return ;
    }

    ret = sio_SetReadTimeouts ( port, 3000, 0 );
    if (ret != SIO_OK) {

        printf("sio_SetReadTimeouts Error \r\n");
    }

    if (ret == SIO_OK) {

        /* Port Control, set baud, parity... */
        sio_ioctl (port, B9600, P_NONE | BIT_8 | STOP_1 );

        /* Output Data function */
        sio_write (port, "AT\r\n", 4);

        length = 10 ;
        /* Input Data function */
        ret = sio_read (port, ibuf, length);

        printf("sio_read --- ret %d \r\n",ret);

        if(ret > 0){

            for(i = 0 ; i< ret ; i++ ){

                printf("0x%.2x ",ibuf[i]);
            }

            printf("\r\n");
        }
    }
    /* Port Control, disable the port */
    sio_close (port);




}

OnInitDialog 下添加代码:

    AllocConsole(); 
    SetConsoleTitle(_T("debug console")); 
    freopen("CONOUT$","w",stdout); 

    printf("Hello\r\n");

需要在PCommTestDlg.cpp 文件的 前面 添加如下代码

#include "PCOMM.H"
#pragma  comment(lib,"PCOMM.LIB")

需要将文件 PCOMM.DLL 和PCOMM.H 和PCOMM.LIB 放到工程所在目录下:
PCommTestDlg.cpp 所在目录。

这样隐式调用库,不用在工程中设置库引用。

效果如下:

这里写图片描述

Hello
sio_read --- ret 0
sio_read --- ret 9
0x41 0x54 0x0d 0x0d 0x0a 0x4f 0x4b 0x0d 0x0a

如果TC35 的 状态灯不闪,有时候会读不出来数据,这种情况下 ,需要重新给TC35上电。

工程源码:
PCommTest.rar
https://download.csdn.net/download/wowocpp/10516620

猜你喜欢

转载自blog.csdn.net/wowocpp/article/details/80900198