在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 1878|回复: 1

[求助] c串口程序接收数据长度总是为0

[复制链接]
发表于 2020-11-10 15:52:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
#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,不知道哪里出了问题,有没有大佬帮忙看下

 楼主| 发表于 2020-11-10 22:26:28 | 显示全部楼层
问题已解决/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-18 13:54 , Processed in 0.014674 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表