1,451
社区成员
发帖
与我相关
我的任务
分享
Private Sub Timer1_Timer()
If MSComm1.InBufferCount = 2 Then
y = Val(MSComm1.Input)
Text1.Text = y
End If
End Sub
Private Sub Check9_Click()
If Check9.Value = 0 Then
Check9.Caption = "关闭"
Else
Check9.Caption = "打开"
buff(0) = &H9
MSComm1.Output = buff
End If
End Sub
void Send(uint dat)
{
EA=0;
SBUF=(dat/10)+48;
while(!TI);
TI=0;
SBUF=(dat%10)+48;
while(!TI);
TI=0;
EA=1;
}
/*------------------------------------------------
测量距离
------------------------------------------------*/
uint celiang(void)
{
uint S; //距离变量
TIM0init(); //初始化定时器0
TRIG=1; //触发信号是高电平脉冲,宽度大于10us
DelayUs2x(10);
TRIG=0;
while(!ECHO); //等待高电平
TR0=1;
while(ECHO); //等待低电平
TR0=0;
S=TH0*256+TL0;//取出定时器值高8位和低8位合并
S=S/58; //为什么除以58等于厘米, Y米=(X秒*344)/2
// X秒=( 2*Y米)/344 -> X秒=0.0058*Y米 -> 厘米=微秒/58
TH0=0;
TL0=0; //清除定时器0寄存器中的值
DelayMs(250); //延时决定采样速度
return S;
}
Private Sub Timer1_Timer()
Timer1.Enabled = False '关闭定时器
s= MSComm1.InBufferCount
If MSComm1.InBufferCount = 2 Then
y = Val(MSComm1.Input)
Text1.Text = y
End If
Timer1.Enabled = true '重新开启定时器
End Sub
你可以把断点 设在 s= MSComm1.InBufferCount
然后跟踪看一下,这个值对不对.TextBox1.Refresh