打印
[技术支持]

c串口程序接收数据长度总是为0

[复制链接]
704|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
duo点|  楼主 | 2023-8-17 09:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#define _CRT_SECURE_NO_WARNINGS
#include <string.h>
#include <conio.h>
#include "tchar.h"

#include<stdio.h>
#include<windows.h>


int main()
{
                HANDLE hCom1;
                COMMTIMEOUTS TimeOuts;  
                DCB dcb1;
                DWORD i ;
                DWORD wCount =4;
            DWORD wCount1;
               


        unsigned char str[8];
                 
    hCom1 = CreateFile("COM4",
        GENERIC_READ | GENERIC_WRITE,
        0,
        NULL,
        OPEN_EXISTING,
        0,
        NULL);


        if (hCom1==INVALID_HANDLE_VALUE )
    {
        printf("read open failed\n");

    }
    else
    {
        printf("read open successed\n");
    }
    SetupComm(hCom1, 20480, 20480);

    //COMMTIMEOUTS TimeOuts;  
    TimeOuts.ReadIntervalTimeout =100;
    TimeOuts.ReadTotalTimeoutMultiplier =500;
    TimeOuts.ReadTotalTimeoutConstant = 5000;   
    TimeOuts.WriteTotalTimeoutMultiplier = 500;
    TimeOuts.WriteTotalTimeoutConstant = 2000;
    SetCommTimeouts(hCom1, &TimeOuts);

    //DCB dcb1;
    GetCommState(hCom1, &dcb1);
    dcb1.BaudRate = 115200;
    dcb1.ByteSize = 8;//一个字节8bit
    dcb1.Parity = NOPARITY;//无校验
    dcb1.StopBits = ONESTOPBIT;//1位停止位
    dcb1.fParity = FALSE;
    dcb1.fNull = FALSE;
    SetCommState(hCom1, &dcb1);

    PurgeComm(hCom1, PURGE_TXCLEAR|PURGE_RXCLEAR);


        if(!ReadFile(hCom1, str, wCount, &wCount1, NULL))
        {
            printf("read failed!");

        }
                else
                {
        printf("read successed!");


        printf("wCount1:%d\n", wCount1);

               
                printf("read data is");
                for(i=0;i<wCount1;i++)
        {
               
          printf("%02X", str[i]);
        }
                }


      

CloseHandle(hCom1);

// system("pause");

}
代码贴上来了,wCount1总是为0,不知道哪里出了问题,有没有大佬帮忙看下

使用特权

评论回复
沙发
kangzj| | 2023-8-27 13:41 | 只看该作者
看代码没啥问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

440

主题

1669

帖子

1

粉丝