SDK  23.9.2
For IoT System Software Development
Public Member Functions | List of all members
RS485 Class Reference

RS485 통신을 위한 클래스 More...

#include <RS485.hpp>

Inheritance diagram for RS485:
Stream Print

Public Member Functions

 RS485 (SerialPort &, int pinDE, int pinNRE)
 
virtual void begin (uint32_t speed=115200, SerialPort::Config_t config=SerialPort::_8N1)
 RS485 인터페이스를 초기화합니다. More...
 
bool isBegan ()
 RS485 인터페이스가 시작되었는지 확인합니다.
 
virtual void end ()
 RS485 인터페이스를 종료합니다. More...
 
virtual int available () override
 포트 내부 수신버퍼에 수신된 문자의 갯수를 반환합니다.
 
virtual int peek () override
 포트 내부 수신버퍼의 가장 앞에 위치한 문자를 반한합니다. More...
 
virtual int read () override
 포트 내부 버퍼에 수신된 문자를 하다 꺼냅니다. More...
 
virtual void flush () override
 
void onReceive (void(*func)(void *), void *ctx)
 데이터가 들어올 때마다 호출될 콜백함수를 지정합니다. More...
 
virtual size_t write (uint8_t val) override
 문자 하나를 출력합니다. More...
 
void beginTransmission ()
 
void endTransmission ()
 
void receive ()
 
void noReceive ()
 
void sendBreak (unsigned int duration)
 
void sendBreakMicroseconds (unsigned int duration)
 
void setDelays (int predelay, int postdelay)
 
virtual size_t write (uint8_t)=0
 문자 하나를 출력합니다. More...
 
size_t write (const char *str)
 문자열을 출력합니다. More...
 
virtual size_t write (const uint8_t *buffer, size_t size)
 데이터 배열을 출력합니다. More...
 
size_t write (const char *buffer, size_t size)
 데이터 배열을 출력합니다. More...
 
- Public Member Functions inherited from Stream
void setTimeout (unsigned long timeout)
 
bool find (const char *target)
 
bool find (uint8_t *target)
 
bool find (const char *target, size_t length)
 
bool find (const uint8_t *target, size_t length)
 
bool find (char target)
 
bool findUntil (const char *target, const char *terminator)
 
bool findUntil (const uint8_t *target, const char *terminator)
 
bool findUntil (const char *target, size_t targetLen, const char *terminate, size_t termLen)
 
bool findUntil (const uint8_t *target, size_t targetLen, const char *terminate, size_t termLen)
 
long parseInt ()
 
float parseFloat ()
 
size_t readBytes (char *buffer, size_t length)
 
size_t readBytes (uint8_t *buffer, size_t length)
 
size_t readBytesUntil (char terminator, char *buffer, size_t length)
 
size_t readBytesUntil (char terminator, uint8_t *buffer, size_t length)
 
String readString ()
 
String readStringUntil (char terminator)
 
- Public Member Functions inherited from Print
int getWriteError ()
 
void clearWriteError ()
 
size_t write (const char *str)
 문자열을 출력합니다. More...
 
virtual size_t write (const uint8_t *buffer, size_t size)
 데이터 배열을 출력합니다. More...
 
size_t write (const char *buffer, size_t size)
 데이터 배열을 출력합니다. More...
 
virtual int availableForWrite ()
 
size_t print (const __FlashStringHelper *)
 프로그램 메모리(읽기 전용 플래시) 영역에 저장된 문자열을 출력합니다.
 
size_t print (const String &)
 String 형의 문자열을 출력합니다.
 
size_t print (const char[])
 NULL로 종료되는 문자열을 출력합니다.
 
size_t print (char)
 문자 하나를 출력합니다.
 
size_t print (unsigned char, int=DEC)
 부호가 없는(unsigned) 8-byte 정수를 지정한 진수 형태로 출력합니다.
 
size_t print (int, int=DEC)
 int 형 정수를 지정한 진수 형태로 출력합니다.
 
size_t print (unsigned int, int=DEC)
 unsigned int 형 정수를 지정한 진수 형태로 출력합니다.
 
size_t print (long, int=DEC)
 long 형 정수를 지정한 진수 형태로 출력합니다.
 
size_t print (unsigned long, int=DEC)
 unsigned long 형 정수를 지정한 진수 형태로 출력합니다.
 
size_t print (double, int=2)
 double 형 실수를 지정한 소수점 이하 출력 개수로 출력합니다.
 
size_t print (const Printable &)
 Printable을 구현한 클래스를 출력합니다.
 
size_t println (const __FlashStringHelper *)
 프로그램 메모리(읽기 전용 플래시) 영역에 저장된 문자열과 개행문자(CR+LF)를 출력합니다.
 
size_t println (const String &s)
 String 형의 문자열과 개행문자(CR+LF)를 출력합니다.
 
size_t println (const char[])
 NULL로 종료되는 문자열과 개행문자(CR+LF)를 출력합니다.
 
size_t println (char)
 문자 하나와 개행문자(CR+LF)를 출력합니다.
 
size_t println (unsigned char, int=DEC)
 부호가 없는(unsigned) 8-byte 정수를 지정한 진수 형태로, 개행문자(CR+LF)와 함께 출력합니다.
 
size_t println (int, int=DEC)
 int 형 정수를 지정한 진수 형태로, 개행문자(CR+LF)와 함께 출력합니다.
 
size_t println (unsigned int, int=DEC)
 unsigned int 형 정수를 지정한 진수 형태로, 개행문자(CR+LF)와 함께 출력합니다.
 
size_t println (long, int=DEC)
 long 형 정수를 지정한 진수 형태로, 개행문자(CR+LF)와 함께 출력합니다.
 
size_t println (unsigned long, int=DEC)
 unsigned long 형 정수를 지정한 진수 형태로, 개행문자(CR+LF)와 함께 출력합니다.
 
size_t println (double, int=2)
 double 형 실수를 지정한 소수점 이하 출력 개수로, 개행문자(CR+LF)와 함께 출력합니다.
 
size_t println (const Printable &)
 Printable을 구현한 클래스를, 개행문자(CR+LF)와 함께 출력합니다.
 
size_t println (void)
 개행문자(CR+LF)를 출력합니다.
 
virtual int printf (const char *,...)
 printf 출력을 내보냅니다. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Stream
int timedRead ()
 
int timedPeek ()
 
int peekNextDigit ()
 
long parseInt (char skipChar)
 
float parseFloat (char skipChar)
 
- Protected Member Functions inherited from Print
void setWriteError (int err=1)
 
- Protected Attributes inherited from Stream
unsigned long _timeout
 
unsigned long _startMillis
 

Detailed Description

RS485 통신을 위한 클래스

Member Function Documentation

◆ begin()

virtual void RS485::begin ( uint32_t  speed = 115200,
SerialPort::Config_t  config = SerialPort::_8N1 
)
virtual

RS485 인터페이스를 초기화합니다.

Parameters
speed설정 가능한 speed는 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 또는 115200 입니다.
configData bit, parity, stop bit 등을 설정합니다.

◆ end()

virtual void RS485::end ( )
virtual

RS485 인터페이스를 종료합니다.

SerialPort도 종료되고, DE, NRE 핀들은 input 상태가 됩니다.

◆ onReceive()

void RS485::onReceive ( void(*)(void *)  func,
void *  ctx 
)

데이터가 들어올 때마다 호출될 콜백함수를 지정합니다.

Parameters
func콜백될 함수 포인터
ctx콜백시 함께 전달될 인자 포인터

◆ peek()

virtual int RS485::peek ( )
inlineoverridevirtual

포트 내부 수신버퍼의 가장 앞에 위치한 문자를 반한합니다.

이 함수가 호출되더라도 수신버퍼의 내용에는 변화가 없습니다.

Implements Stream.

107  {
108  return this->s.peek();
109  }

◆ read()

virtual int RS485::read ( )
inlineoverridevirtual

포트 내부 버퍼에 수신된 문자를 하다 꺼냅니다.

내부 버퍼가 비어있으면 -1이 반환됩니다.

Implements Stream.

119  {
120  return this->s.read();
121  }

◆ write() [1/5]

size_t Print::write
inline

데이터 배열을 출력합니다.

Parameters
buf전송할 배열의 시작 포인터
len전송할 배열의 길이 (byte)
94  {
95  return write((const uint8_t *)buffer, size);
96  }

◆ write() [2/5]

size_t Print::write
inline

문자열을 출력합니다.

Parameters
cstr출력할 문자열. Null로 종료되는(null-terminated) 문자열이어야 합니다.
Returns
전송된 문자 수
75  {
76  if (str == NULL) return 0;
77  return write((const uint8_t *)str, strlen(str));
78  }

◆ write() [3/5]

virtual size_t Print::write

데이터 배열을 출력합니다.

Parameters
buf전송할 배열의 시작 포인터
len전송할 배열의 길이 (byte)

◆ write() [4/5]

virtual size_t RS485::write ( uint8_t  )
inlineoverridevirtual

문자 하나를 출력합니다.

Parameters
val전송할 문자
Returns
전송된 문자 수

Implements Print.

138  {
139  return this->s.write(val);
140  }

◆ write() [5/5]

virtual size_t Print::write

문자 하나를 출력합니다.

Parameters
val전송할 문자
Returns
전송된 문자 수

The documentation for this class was generated from the following file:
RS485::write
virtual size_t write(uint8_t val) override
문자 하나를 출력합니다.
Definition: RS485.hpp:138
SerialPort::peek
virtual int peek()
포트 내부 수신버퍼의 가장 앞에 위치한 문자를 반한합니다.
SerialPort::write
virtual size_t write(uint8_t val)
문자 하나를 출력합니다.
SerialPort::read
virtual int read()
포트 내부 버퍼에 수신된 문자를 하다 꺼냅니다.