首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

MFC 应用MSCOMM控件(串口通讯)频发丢包现象?

2013-07-25 
MFC 使用MSCOMM控件(串口通讯)频发丢包现象??总体流程 :就是单片机不断通过USB向电脑端发送数据电脑端软件

MFC 使用MSCOMM控件(串口通讯)频发丢包现象??
总体流程 :
就是单片机不断通过USB向电脑端发送数据  
电脑端软件将受到的数据显示出来 
   
操作代码和下面这个页面的一样,跟着他做的http://wenku.baidu.com/view/c6adb369561252d380eb6e42.html 

不动它就不丢包(几率很低,也不是不丢)
稍微一移动窗口就丢包了   
最无语的是 不操作窗口,我打开其他稍大点的程序,它也丢 

就是串口通讯控件所在的线程 会受到别的线程的干扰或者是本线程的新消息影响 导致丢包现象 

官方提供的软件(串口助手)是不会出现这种情况的,无论怎么搞都绝不丢包的。。

所以和硬件无关

所以这种情况只是我的处理不当引起的 

问题到底在哪里呢???  


//下面这是单片机部分的代码,就是不停发而已,
while(1)
{
SBUF=' ';while(TI==0);TI=0;
SBUF='z';while(TI==0);TI=0;
SBUF='x';while(TI==0);TI=0;
SBUF='x';while(TI==0);TI=0;
SBUF='c';while(TI==0);TI=0;
SBUF='d';while(TI==0);TI=0;
SBUF='h';while(TI==0);TI=0;
SBUF='t';while(TI==0);TI=0;
SBUF='x';while(TI==0);TI=0;
SBUF='n';while(TI==0);TI=0;
SBUF=' ';while(TI==0);TI=0;
DELAY_MS(1);
} 串口通讯 mfc
[解决办法]
将串口中断优先级调至最高。

[解决办法]
上位机不要用控件做,用API做。
[解决办法]
你的上位机问题。
验证你的问题:你可以用串口调试助手,看看用它是否还存在丢包(应该不会丢了)
[解决办法]
控件不准确,不行,不如直接通过API操作串口,我曾经用VB的MSCOMM控件就是 这样,后来别的同事直接操作就没有出现问题。

热点排行