我用C#.Net Winforms编写了一个程序(我是编程新手),它运行在Raspberry Pi上。
连接到Pi是Afadruit Fona(Sim800L)。
我正在使用以下库:https://github.com/PervasiveDigital/SimComDotNet.git,与Fona进行通信。
我遇到的问题是,当它尝试在fona上执行单个命令时,线程崩溃了。无论我在fona上执行什么命令;我尝试过负载,它在第一次尝试后总是崩溃。
在我写的下面的类中,它在UseExternalAudio命令之后立即崩溃。
以下是代码:
using System.IO;
using System.IO.Ports;
using Molarity.Hardare.AdafruitFona;
using System.ComponentModel;
namespace FAS
{
public class call
{
private BackgroundWorker worker = new BackgroundWorker();
private string number;
public bool open_call=false, close_call=false;
public call(string path)
{
number = ReadAllText(path + @"/number");
worker.DoWork += new DoWorkEventHandler(worker_DoWork);
if (bw.IsBusy != true) bw.RunWorkerAsync();
}
private void worker_DoWork(object sender, DoWorkEventArgs e)
{
SerialPort port = new SerialPort("/dev/ttyUSB0", 115200, Parity.None, 8, StopBits.One);
FonaDevice fona = new FonaDevice(port);
fona.UseExternalAudio=true;
while (true)
{
if (open_call)
{
fona.PhoneCall(number);
open_call=false;
}
if (close_call)
{
fona.HangUp();
close_call=false;
}
}
}
}
}
任何人都可以帮忙!?