您的位置:程序门 -> vb -> 基础类



mscomm控件为何有时不能接收数据


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


mscomm控件为何有时不能接收数据[已结贴,结贴人:feiyingtage]
发表于:2007-07-25 18:40:23 楼主
我的程序在打开串口后,有时候会无法接受数据,我用debug.print   mscomm1.inbuffercount查看了一下,缓存区里字符为0,此时端口确实是打开的,而且单片机也确实在发送数据,但就是不能接收,然后把串口关掉,再打开,又可以接收数据了,不知道是何故.而且我试了一下,用别的程序,也接收这个单片机数据,把settings设置成   [4800,n,8,2]就不会出现那种出现,而一旦设置成[57600,n,8,1]就会出现跟我的程序一样状况,声明一下,波特率设置应该没问题,因为数据读取是正确的,而且用串口工具调试都能正常读取,各位大虾有碰到过这个情况吗?
        另外settings[57600,n,8,1]的停止位1占用57600中的一位吗?或者说波特率57600每秒钟就发送57600个有效位呢?
发表于:2007-07-30 14:49:061楼 得分:20
以下仅供参考
  异步通信的信息格式如下边的表所示

                        起始位           逻辑0                     1位
                        数据位           逻辑0或1           5位、6位、7位、8位
                        校验位           逻辑0或1           1位或无
                        停止位           逻辑1                       1位,1.5位或2位
                        空闲位           逻辑1                       任意数量

  注:表中位数的本质含义是信号出现的时间,故可有分数位,如1.5。  

异步通信的速率:若9600bps,每字符8位,1起始,1停止,无奇偶,则实际每字符传送10位,则960字符/秒。


快速检索

最新资讯
热门点击