你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

为什么我使用windows api编程发送了数据单片机接收不到

[复制链接]
garcon0727 提问时间:2019-6-23 14:34 /
本帖最后由 garcon0727 于 2019-6-23 14:38 编辑
  1. void uart::SendData(TCHAR* buffer, int len)
  2. {
  3.     char lpOutBuffer[100];
  4.     DWORD dwBytesWrite = 1;          //一次最多传输一个字节
  5.     COMSTAT ComStat;
  6.     DWORD dwErrorFlags;
  7.     BOOL bWriteStat;
  8.     if (len == 0)
  9.     {
  10.         return;
  11.     }
  12.     ClearCommError(hCom, &dwErrorFlags, &ComStat);
  13.     WideCharToMultiByte(CP_ACP, 0, buffer, -1, lpOutBuffer, 100, NULL, NULL);
  14.     lpOutBuffer[len] = '\0';
  15.     for (int i = 0; i < len; i++)
  16.     {
  17.         char send = lpOutBuffer[i];
  18.         bWriteStat = WriteFile(hCom, &send, dwBytesWrite, &dwBytesWrite, NULL);
  19.         PurgeComm(hCom, PURGE_TXCLEAR);
  20.         if (!bWriteStat)
  21.         {
  22.             //写串口失败
  23.             return;
  24.         }

  25.     }
  26. }
复制代码
调试的时候writefile的返回值也是1,我还把单片机收到的数返回到PC显示,但是用别人的串口助手就可以,自己做的就不行。


我用自己的串口助手发了几次数没反应,用别人的不仅会把11发出去,还会把我在自己的串口助手里面发送的值发送出去,这是什么原因啊?


q2.PNG
q1.PNG
收藏 评论5 发布时间:2019-6-23 14:34

举报

5个回答
garcon0727 回答时间:2019-6-23 14:37:16
我在网上找了其他的代码发现也存在这个问题,如果数据只进入了缓存区还没有发送到STM32的话,writefile应该不会返回啊
衔胆栖冰 回答时间:2019-6-23 14:54:32
用USB转串口线接的单片机,pc端抓下USB数据看PC有没有把数据发送出去,或者API发送的数据有没有到达PC底层

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

garcon0727 回答时间:2019-6-23 18:03:54
衔胆栖冰 发表于 2019-6-23 14:54
用USB转串口线接的单片机,pc端抓下USB数据看PC有没有把数据发送出去,或者API发送的数据有没有到达PC底层 ...

我把数据抓出来了,上面有发送和接收的是用得别人的串口调试助手,我自己的只有发送但是没有接收,我还让开发板接收到数据就点亮LED,也没有反应。
捕获.PNG

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

garcon0727 回答时间:2019-6-23 19:17:13
我发使用别人的串口助手时每次写入串口会多两位,比如发送字符1,我自己的程序发出去监视到的是1个字节,但是用别人的发出去是3个字节,还有两个字节是什么啊?
Dylan疾风闪电 回答时间:2019-6-24 09:28:58
上位机自发自收检查:先用USB转串口模块/收发器,将Tx和Rx短接,检查一下你的上位机程序是否有问题。
下位机程序检查:1、用断点检查串口中断接收到的单个数据是否正确;2、添加计数变量,检测收到的数据量是否正确;3、前面两点都解决了,在就再分析处理函数是否正确。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版