資源簡介
簡單的光源控制,只有寫入,沒有讀取
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.IO.Ports;
using?System.Linq;
using?System.Text;
using?System.Threading.Tasks;
namespace?LightControl_LEILI
{
????class?VLLC514CH
????{
????????#region?變量聲明
????????private?string?receiveInfoFromSerialPort?=?““;//接收來自光源控制器的反饋信息(發送信息的反饋信息)
????????private?string?sendInfoToSerialPort?=?““;//發送信息給光源控制器的信息
????????#endregion
????????///?
????????///?打開與光源控制器連接的串口
????????///?
????????///?指定串口
????????///?串口名稱
????????///?停止位
????????///?奇偶校驗
????????///?波特率
????????///?數據位
????????///?是否連接上光源控制器標志
????????public?bool?OpenSerialPort(SerialPort?SerialPort?string?PortName?StopBits?StopBits?Parity?Parity?Int32?BaudRate?Int32?DataBits)
????????{
????????????try
????????????{
????????????????SerialPort.PortName?=?PortName;//設定串口名稱
????????????????SerialPort.StopBits?=?StopBits;//設定串口停止位
????????????????SerialPort.Parity?=?Parity;//設定奇偶校驗
????????????????SerialPort.BaudRate?=?BaudRate;//設定波特率
????????????????SerialPort.DataBits?=?DataBits;//設定數據位
????????????????SerialPort.Open();//打開串口
????????????????if?(SerialPort.IsOpen)//判斷串口是否打開
????????????????{
????????????????????return?true;
????????????????}
????????????????else
????????????????{
????????????????????return?false;
????????????????}
????????????}
????????????catch
????????????{
????????????????return?false;
????????????}
????????}
????????///?
????????///?向串口發送數據
????????///?
????????///?指定串口
????????///?串口是否打開標志
????????///?需要發送的信息
????????///?發送指令是否成功
????????public?bool?SendInfoToPort(SerialPort?SerialPort?bool?IsOpen?string?Info)
????????{
????????????int?iReceiveInfoLength?=?0;//接收光源控制器的反饋信息的長度
????????????try
????????????{
????????????????if?(IsOpen)//判斷串口是否打開
????????????????{
????????????????????SerialPort.Write(Info);//發送指令
????????????????????iReceiveInfoLength?=?SerialPort.BytesToRead;//讀取光源控制器的反饋信息長度
????????????????????byte[]?ReadBuffer?=?new?byte[iReceiveInfoLength];//初始化讀取緩存區的數據數組
????????????????????SerialPort.Read(ReadBuffer?0?iReceiveInfoLength);//讀取緩存區的數據
????????????????????SerialPort.DiscardInBuffer();//數據接收完成以后清空緩存區
????????????????????for?(int?i?=?0;?i?????????????????????{
????????????????????????receiveInfoFromSerialPort?+=?ReadBuffer[i].ToString(“X2“)?+?““;
????????????????????}
????????????????????if?(Info?==?receiveInfoFromSerialPort)//判斷指令是否發送成功,如果發送成功會返回與發送指令相同的信息
????????????????????{
????????????????????????return?true;
????????????????????}
????????????????????else
????????????????????{
????????????????????????return?false;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????13288??2020-12-16?16:36??VLLC514CH.cs
-----------?---------??----------?-----??----
????????????????13288????????????????????1
評論
共有 條評論