[英]Shutdown Windows 7 with C# using Visual Studio 2013 and Arduino serial/COM port
[英]Arduino com port c#
我有一个与4个LED相连的Arduino Uno,我想使用ac#应用程序进行控制。 LED工作正常,接线正确,但是我不知道为什么我的代码不工作。 现在,我想分别打开/关闭4个LED。
我曾尝试打开arduino ide的串行监视器来监视发生的事情,但由于其他实例已经在忙那个COM端口,所以无法这样做,这意味着我只能打开arduino串行监视器或c#应用程序。
(我删除了一些括号)
C#:
namespace ArduinoLed
{
public partial class MainWindow : Window
{
ctrl controller = new ctrl();
public MainWindow()
{
InitializeComponent();
controller.Serialopen();
}
public void Clicked(object sender, RoutedEventArgs e)
{
Button clickedButton = (Button)sender;
controller.Click(clickedButton);
}
}
class ctrl
{
SerialPort port = new SerialPort("COM3", 9600);
public void Serialopen()
{
try
{
port.Open();
}
catch (Exception)
{
MessageBox.Show("Fail to open port (COM3)");
}
}
public void Click(Button btn)
{
string name = btn.Name;
if (btn.Content == "OFF")
{
btn.Content = "ON";
port.WriteLine(btn.Name + "/ON");
}
else
{
btn.Content = "OFF";
port.WriteLine(btn.Name + "/OFF");
}
}
}
阿尔迪诺:
void setup() {
Serial.begin(9600);
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(9, OUTPUT);
}
void loop() {
String message;
if (Serial.available() > 0){
message = Serial.readString();
Serial.println(message);
if (message == "btnOne/ON"){
digitalWrite(3, HIGH);
}
if (message == "btnOne/OFF"){
digitalWrite(3, LOW);
}
if (message == "btnTwo/ON"){
digitalWrite(5, HIGH);
}
if (message == "btnTwo/OFF"){
digitalWrite(5, LOW);
}
if (message == "btnThree/ON"){
digitalWrite(6, HIGH);
}
if (message == "btnThree/OFF"){
digitalWrite(6, LOW);
}
if (message == "btnFour/ON"){
digitalWrite(9, HIGH);
}
if (message == "btnFour/OFF"){
digitalWrite(9, LOW);
}
调用message.trim();
在比较值之前。 这将删除所有不可读的字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.