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;