然后C#提示是这里有问题:
if (Convert.ToUInt16(serialPort1.ReadLine()) != 1820)
原程序为:
private void button1_Click(object sender, EventArgs e)
{
try
{
if (isopen == false)
{
serialPort1.BaudRate = Convert.ToInt32(comboBox2.Text);
serialPort1.PortName = comboBox1.Text;
serialPort1.Open();
serialPort1.Write("s");
if (Convert.ToUInt16(serialPort1.ReadLine()) != 1820)
{
MessageBox.Show("没找到设备");
return;
}
button1.Text = "停止采集";
单片机下位机调试过已经是可以检测的了,就是上位机的问题,调试了之后问题是:WindowsApplication1.Form1.button1_Click(object sender = {未知}, System.EventArgs e = {未知}) C#这个object sender收不到东西,代码到底哪部分有问题啊??
serialPort1.BaudRate = Convert.ToInt32(comboBox2.Text);
调试下这里
comboBox2.Text是不是合法的整数,有没有空格、空白
if (Convert.ToUInt16(serialPort1.ReadLine()) != 1820) 这个判断有问题,目测是serialPort1.ReadLine()输入的内容不是(0 到 9),有空格和其他字符串
第二种原因是输入超出UInt16了大小,也会报错,,,,(MaxValue = 65535; MinValue = 0;)
请问你的编写上位机是与WIFI模块进行TCP协议通信吗呢。是的话能看看嘛。qq1497632755. 邮箱1497632755@qq.com,谢谢了(^~^)