Files
IOT_SIM/samples/p4-t3-报警灯/Form1.cs
T
xuyueandClaude Opus 5.5 4c53caf7fa 整理教材示例:项目 1 任务 2、项目 4 任务 1 和 3、项目 5 任务 1
- 界面取自配套参考工程,用设计器引擎按书上表格改控件名(label1 → lbl_port 等),
  去掉 BOM、换行统一为 LF;代码按书整理,修正 boolIsOpen 等印刷错误
- 测试:所有示例都能编译(10 个),以及计算器 / 多态、红外对射、报警灯、火焰的行为测试

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 11:29:37 +08:00

74 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;
using DeviceCtrlLibrary;
namespace 报警灯
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
bool IsOpen = false;
private void Form1_Load(object sender, EventArgs e)
{
com_port.Items.Clear();
foreach (string item in SerialPort.GetPortNames())
{
com_port.Items.Add(item);
}
}
private void AlarmOnOff(string Device, bool IsOpen)
{
//利用switch语句打开或关闭继电器模块
switch (Device)
{
case "Alarm":
DeviceCtrlHelper.adam4150Helper.OnOff(0, IsOpen);//报警灯接入DO0
alarm1.OnOff(IsOpen);//更改界面报警灯状态
break;
case "LED1": DeviceCtrlHelper.adam4150Helper.OnOff(1, IsOpen); break;//开启或关闭继电器1模块
case "LED2": DeviceCtrlHelper.adam4150Helper.OnOff(2, IsOpen); break;//开启或关闭继电器2模块
default: MessageBox.Show("没有合适的接口程序!", "错误提示!"); break;//若为其他模块,则提示错误
}
}
private void btn_open_Click(object sender, EventArgs e)
{
IsOpen = !IsOpen;
if (IsOpen)
{
DeviceCtrlHelper.adam4150Helper.Open(com_port.Text);
btn_open.Text = "关闭";
}
else
{
DeviceCtrlHelper.adam4150Helper.Close();
btn_open.Text = "开启";
}
}
private void btn_alarmOpen_Click(object sender, EventArgs e)
{
AlarmOnOff("Alarm", true);
}
private void btn_alarmClose_Click(object sender, EventArgs e)
{
AlarmOnOff("Alarm", false);
}
}
}