Swift 3 ORSSerialPort для чтения из Arduino

Поэтому я пытаюсь прочитать некоторые выходные данные arduino с помощью библиотеки ORSSerialPort. Если я использую пример кода из библиотеки с именем ORSSerialPortDemo, все работает. Теперь единственное, что я пропустил в демо, - это как они использовали SerialPortDemoController.swift в viewController.

Я создал стандартный проект, который имеет ViewController.swift. Заголовок моста и импорт выполнены, все ссылки компилируются. Но вместо того, чтобы использовать графический интерфейс для выбора usb-порта и скорости передачи, я хотел бы установить их в коде.

что-то вроде этого:

var serial: SerialPortDemoController?
serial = SerialPortDemoController()
serial.path = "dev/cu.usbserial-A6006hPS"
serial.baudRate = 9600
serial.open()

Тогда все, что мне нужно, это читать из порта. Это уже должно работать, с функцией: func serialPort(_ serialPort: ORSSerialPort, ли получать данные: данные)? Так что в этой функции я мог бы сделать что-то вроде этого:

if let string = NSString(data: data, encoding: String.Encoding.utf8.rawValue) 
{
    print(string)
}

Я осмотрелся вокруг, но ничего не получается. Если бы кто-то мог указать мне правильное направление, это было бы здорово.

Спасибо!

1 ответ

У вас есть правильная настройка последовательного порта т.е. Контакты RTS, DTR, CTS, DSR и DCD?

От: https://www.arduino.cc/en/Serial/Begin По умолчанию используется 8 бит данных, без проверки четности, один стоповый бит.

Да. порт начинается с "/" т.е. "/dev/cu.usbserial-A6006hPS"

Из документа http://cocoadocs.org/docsets/ORSSerialPort/1.5.1/

Используя ORSSerialPortManager просто. Чтобы получить диспетчер общего последовательного порта:

Код какао:

ORSSerialPortManager *portManager = [ORSSerialPortManager sharedSerialPortManager];

Чтобы получить список доступных портов:

NSArray *availablePorts = portManager.availablePorts;
Другие вопросы по тегам