| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 727 人关注过本帖
标题:[求助]为什么总是提示溢出?
只看楼主 加入收藏
monkey_1031
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-3-20
收藏
 问题点数:0 回复次数:6 
[求助]为什么总是提示溢出?

下面的这段程序总是会在做红色标记的地方溢出,困惑我好久,不知为何。
Public V(SamNum + 1) As Long
Dim Num As Integer
Dim WTim As Integer
Dim ErrF As Boolean
Dim RecBuf() As Byte
Dim dat1(1000) As Byte

WTim = 0 '重发次数为0

resend:
If Form1.COM.PortOpen = True Then
Form1.COM.Output = "255" '发“传输数据的命令”给单片机
End If

ErrF = False

For TMP = 0 To 9 '延时,以保证单片机正确接受
Call Form1.delay
Next TMP

If Form1.COM.InBufferCount > 0 Then

RecBuf = Form1.COM.Input '取接收缓冲区数据

ElseIf Form1.COM.InBufferCount < 1 Then
Do While Form1.COM.InBufferCount < 1
delay = delay + 1
If (delay = 30000) Then
Form1.ComF.BackColor = RGB(255, 50, 125)
WTim = WTim + 1 '计重发次数
If (WTim < 100) Then
For TMP = 0 To 9
Call Form1.delay
Next TMP
GoTo resend:
Else: GoTo Err:
End If
End If
Loop
End If
Form1.Text2.Text = ""
For T = 0 To 127

dat1(T) = Trim(Str(RecBuf(T)))
Next T

For T = 0 To SamNum

V(T) = dat1(T * 2) * 256 + dat1(T * 2 + 1) '0-32极板的测量数据(当T=1,dat1(T * 2)=187,dat1(T * 2 + 1)=62时总是会溢出)
Next T

搜索更多相关主题的帖子: TMP 单片机 Dim Byte Integer 
2007-03-26 15:17
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 

你试试直接给V(1)赋值 V(1) = 187*256+62 看会不会报溢出


2007-03-26 15:22
monkey_1031
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-3-20
收藏
得分:0 
会溢出

2007-03-26 15:32
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 
那就是说 给数组V定义出 long不够长度 你定义成double吧

2007-03-26 15:34
monkey_1031
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-3-20
收藏
得分:0 

我试过了,还是不好用啊。
再说计算结果也没超出long的范围啊?


2007-03-26 15:42
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 
那就不知道了 溢出很明显就是返回值超出你定义的数据类型所能接受的长度。

2007-03-26 15:45
monkey_1031
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-3-20
收藏
得分:0 

我自己再研究研究,谢谢了

2007-03-26 15:52
快速回复:[求助]为什么总是提示溢出?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020053 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved