Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何用C语言编写实时代码#_C# - Fatal编程技术网

C# 如何用C语言编写实时代码#

C# 如何用C语言编写实时代码#,c#,C#,我想从GSM调制解调器读取短信。 我写了C#代码。 当我单击“开始”按钮时,此代码将运行。 我希望我的程序在收到短信时阅读短信,而不是单击按钮。 谢谢。当你按下一个按钮时,你的程序会被激活,会调用一些方法。当收到SMS数据时,您需要调用此方法。这可以使用线程(SMS线程和显示数据的主线程)来完成,尽管也可以使用循环轻松完成。在伪代码中: while (don't quit) { display page; check for sms data; sleep for sma


我想从GSM调制解调器读取短信。
我写了C#代码。
当我单击“开始”按钮时,此代码将运行。
我希望我的程序在收到短信时阅读短信,而不是单击按钮。

谢谢。

当你按下一个按钮时,你的程序会被激活,会调用一些方法。当收到SMS数据时,您需要调用此方法。这可以使用线程(SMS线程和显示数据的主线程)来完成,尽管也可以使用循环轻松完成。在伪代码中:

while (don't quit) {
    display page;
    check for sms data;
    sleep for small time to allow other OS programs to run also;
}
这是一个“紧循环”,可能会占用过多的CPU时间,具体取决于实际步骤的代码。对于紧凑的程序循环,一个简单的方法是应用某种睡眠方法

还有其他方法可以做同样的事情,可以使用访问者模式、线程等

看来你只是缺少了周期。您的程序可能更像:

while (don't quit) {
    display page.
    wait for button press.
}
虽然如果不研究您的程序流,第一眼就看不出这个流程

如果您使用的是触发器(按下按钮可能是触发器),您可以在定时器上触发,该定时器可以根据您的需要(100毫秒,1秒,任意时间)触发,该定时器在触发时检查SMS数据,如果有SMS数据,则会更新表单


有很多很多方法可以做到这一点。在谷歌上快速搜索“程序流”,乍一看并没有找到任何有用的链接来解释你可以用哪些方法来实现这一点。也许看看别人的代码会有所帮助。我经常搜索开放源代码库,寻找我可以查看的代码,以了解其他人是如何做的。

这有帮助吗?这篇文章不错,但我需要简单的代码。我想学它。怎么做?为什么你认为你需要实时代码来读取GSM调制解调器的短信?你绝对应该了解实时在编程中的意义。AT+CNMI是从GSM设备请求TE通知以获取新消息的一种方式。审慎地说,您仍然会检查邮件列表中的更改。