C#.Net Winforms程序无法写入Adafruit Fona

时间:2016-04-23 09:58:19

标签: c# winforms raspberry-pi raspberry-pi2 raspberry-pi3

我用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;
                }
            }
        }
    }
}

任何人都可以帮忙!?

0 个答案:

没有答案