반응형
메인 클래스에서 참조(상속)하고 있는 시리얼통신을 위한 기본소스(중요)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO.Ports;
using System.Threading.Tasks;
namespace TEST_RTU
{
class cSerialPort
{
public SerialPort serialport = new SerialPort();
//===========================================================//
/// <summary>
/// 시리얼 통신 설정 값 설정 메서드
/// </summary>
/// <param name="com"></param>
/// <param name="baudrate"></param>
/// <param name="parity"></param>
/// <param name="data"></param>
/// <param name="stop"></param>
public void fn_iniPort(string com, int baudrate, string parity, int data, int stop)
{
serialport.PortName = com;
serialport.BaudRate = baudrate;
if (parity == "N") serialport.Parity = Parity.None;
else if (parity == "O") serialport.Parity = Parity.Odd;
else if (parity == "E") serialport.Parity = Parity.Even;
serialport.DataBits = data;
if (stop == 1) serialport.StopBits = StopBits.One;
else if (stop == 2) serialport.StopBits = StopBits.Two;
}
//=================================================================//
/// <summary>
/// 시리얼 포트 오픈
/// </summary>
/// <param name="fn_OnDataReceived"></param>
/// <returns></returns>
//=================================================================//
public int fn_Open(SerialDataReceivedEventHandler fn_OnDataReceived)
{
int iret = 0;
serialport.DataReceived += fn_OnDataReceived;
try
{
iret = 1;
serialport.Open();
}
catch(Exception e)
{
iret = -1;
}
return iret;
}
//=====================================================================//
//시리얼 포트 연결 종료
//=====================================================================//
public void fn_Close(SerialDataReceivedEventHandler fn_OnDataReceived)
{
if (serialport.IsOpen)
{
serialport.Close();
serialport.DataReceived -= fn_OnDataReceived ;
}
}
//=====================================================================//
//데이터 요청
//=====================================================================//
public void fn_Send(byte[] buffer, int offset, int count)
{
//보낼데이터(버퍼값), 번지수, 데이터 개수)
serialport.Write(buffer, offset, count);
}
}
}
[C#] - C# 모드버스 RTU 시리얼통신 구현 폼 (주석 추가, 소스 공개)
[C#] - C# 모드버스 RTU 시리얼통신 구현하기2 (주석 추가, 소스 공개)
[C#] - C# 모드버스 RTU 시리얼통신 구현하기2
반응형
'C#' 카테고리의 다른 글
C# 모드버스 RTU 시리얼통신 구현 소스 파일 첨부 (8) | 2020.12.22 |
---|---|
C# 모드버스 RTU 시리얼통신 구현 폼 (주석 추가, 소스 공개) (4) | 2020.12.09 |
C# 모드버스 RTU 시리얼통신 구현하기2 (주석 추가, 소스 공개) (3) | 2020.12.09 |
C# 쓰레드 타이머 사용하기 (0) | 2019.11.05 |
C# MySqlDB, MariaDB 연동하기 (0) | 2019.10.17 |