1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/oss-serial

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Serial

Serial — это пакет интерфейса последовательного порта (UART) на языке Go, который позволяет использовать стандартные системные функции чтения и записи файлов для приёма и передачи потока байтов через последовательный порт.

Конфигурация по умолчанию

8 N 1 N (количество бит данных: 8, проверка на чётность: N, количество стоповых битов: 1, управление потоком данных: N).

Использование в коде

package main

import (
	"log"

	"github.com/xluohome/serial"
)

func main() {
	c := &serial.Config{Name: "COM9", Baud: 9600}
	s, err := serial.OpenPort(c)
	if err != nil {
		log.Fatal(err)
	}

	txbuf := []byte{0xAA, 0x01, 0x0f, 0x00, 0x00, 0xBA}

	n, err = s.Write(txbuf)
	if err != nil {
		log.Fatal(err)
	}

	buf := make([]byte, 128)
	n, err = s.Read(buf)
	if err != nil {
		log.Fatal(err)
	}
	log.Printf("%X\n", buf[:n])
}

Неблокирующий режим

По умолчанию возвращённый порт считывает данные в блокирующем режиме. Это означает, что Read() будет блокироваться до тех пор, пока не будет получен хотя бы один байт. Если это не то, что вам нужно, укажите положительное значение ReadTimeout, и Read() вернёт тайм-аут 0 байтов, если байты не были прочитаны. Обратите внимание, что это общий тайм-аут, который ожидает операция чтения, а не интервал тайм-аута между двумя байтами.

c := &serial.Config{Name: "COM45", Baud: 115200, ReadTimeout: time.Second * 5}
// В этом режиме вы захотите подавить ошибку при чтении,
// так как 0 байтов возвращают ошибку EOF в Linux / POSIX
n, _ = s.Read(buf)

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
BSD-3-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/oss-serial.git
git@api.gitlife.ru:oschina-mirror/oss-serial.git
oschina-mirror
oss-serial
oss-serial
master