用While MSComm1.InBufferCount = 0只能判断接收到字符,不能判断接收是不是完毕,如何更改这条语句?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用While MSComm1.InBufferCount = 0只能判断接收到字符,不能判断接收是不是完毕,如何更改这条语句?相关的知识,希望对你有一定的参考价值。

MSComm1.InBufferCount = 0
Label1.Caption = bushu(c, d)
e = bushu(c, d)
MSComm1.Output = Label1.Caption
While MSComm1.InBufferCount = 0
For h = 0 To 1
Next h
Wend
Label2.Caption = MSComm1.Input
f = Label2.Caption
g = Int(Val(f))
MSComm1.OutBufferCount = 0
单片机收到字符后返回该数值,但是发送的和接收的不一样
如何更改While MSComm1.InBufferCount = 0,使得串口接收完毕后再往下执行?

参考技术A while(c[i]!='\0') //你这句话意思,如果c[i]的值不为0,进循环。

i++;

那么,数组里有字符'0'的话,显然不会停止。因为0不等于'0', 翻下书看看'0'的ascii码值是多少。
如果c是一个字符串,如果c[5]的值为0,那必然已经到了字符串的最后一个。追问

额,我觉得你不懂,或者没看我问的是啥

用while循环python写factorial

我是新手,对Python不太了解。有人知道如何在while循环中编写阶乘法吗?

我可以在if / elif else语句中创建它:

num = ...
factorial = 1

if num < 0:
   print("must be positive")
elif num == 0:
   print("factorial = 1")
else:
   for i in range(1,num + 1):
       factorial = factorial*i
   print(num, factorial)

但是我想用while循环(没有函数)来做这个。

答案
while num > 1:
    factorial = factorial * num
    num = num - 1
另一答案

如果你只是想得到一个结果:math.factorial(x)

循环:

def factorial(n):
    num = 1
    while n >= 1:
        num = num * n
        n = n - 1
    return num
另一答案
number = int(input("Enter number:"))
factorial = 1
while number>0:
    factorial = factorial * number
    number = number - 1
print(factorial)
另一答案

使用标准库轻松实现:

import math

print(math.factorial(x))
另一答案
a=int(input("enter the number : "))
result = 1
i=1
while(i <= a):
    result=i*result
    i=i+1
print("factorial of given number is ", format(result))

以上是关于用While MSComm1.InBufferCount = 0只能判断接收到字符,不能判断接收是不是完毕,如何更改这条语句?的主要内容,如果未能解决你的问题,请参考以下文章

怎么用while语句算5的阶乘?

用while循环打印乘法9乘9表

用while语句计算1到5阶乘的和

c++用while循环结构,输出1-10中所有的奇数

用while语句求20的阶乘的和

用php中的while编写九九乘法表