c# - 串行端口 Readbyte() 错误;它突然停止接收数据
问题描述
我的代码工作正常,但几秒钟后我没有从 ReadByte() 获得任何数据。在这个函数下有两个期望。我该如何解决?这是问题:https ://i.hizliresim.com/7aPGXN.png
我已经尝试过 ReadExisting() 但它立即为我提供了所有数据并且我不处理它们。
private void bluetooth_port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int_verisi = bluetooth_port.ReadByte();
textBox7.Text= int_verisi.ToString();
byte_verisi = (byte) int_verisi;
if ((byte_verisi & 0x0F) == 0)
{
//Mesafe Low Biti Çevirme
byte_verisi_mesafe_lb = (byte) (byte_verisi >> 4);
textBox1.Text = byte_verisi_mesafe_lb.ToString();
}
else if ((byte_verisi & 0x0F) == 0b00000001)
{
//Mesafe High Biti Çevirme
byte_verisi_mesafe_hb = (byte) (byte_verisi & 0b11111110);
textBox2.Text = byte_verisi_mesafe_hb.ToString();
}
else if ((byte_verisi & 0x0F) == 0b00000010)
{
//Servo Low Biti Çevirme
byte_verisi_servo_lb = (byte)(byte_verisi >> 4);
byte_verisi_servo_lb = (byte)(byte_verisi_servo_lb & 0b11011111);
textBox4.Text = byte_verisi_servo_lb.ToString();
}
else if ((byte_verisi & 0x0F) == 0b00000100)
{
//Servo High Biti Çevirme
byte_verisi_servo_hb = (byte)(byte_verisi & 0b11111011);
textBox5.Text = byte_verisi_servo_hb.ToString();
}
mesafe_sensoru = (byte) (byte_verisi_mesafe_hb | byte_verisi_mesafe_lb);
servo_aci = (byte)(byte_verisi_servo_hb | byte_verisi_servo_lb);
textBox3.Text = mesafe_sensoru.ToString() + " cm";
textBox6.Text = servo_aci.ToString() + " derece";
}
解决方案
推荐阅读
- python - 如何在数据框列中的某个字符之后提取字符串的整个部分?
- oxygenxml - 在面包屑呈现中包含特定属性或子元素文本
- html - 动态添加键到 React Tag
- python - Python:球体的交集
- greengrass - java greengrass lambda函数的问题
- firebase - Firestore 检查用户名是否存在,不查询整个数据库的最佳模型?
- powershell - 如何从字符串调用命令?
- c# - 如何修复循环停止+未处理的异常错误
- node.js - 如何停止 mamp pro 覆盖 localhost:3000?
- html - Ionic 3 加载组件未全屏