Porting Google's official serial port library android-serialport-api, only supports serial port name and baud rate. This item adds support check digit, data bit, stop bit, flow control configuration item.
Gradle
dependency:implementation 'tp.xmaihh:serialport:2.1'
Maven
dependency:<dependency>
<groupId>tp.xmaihh</groupId>
<artifactId>serialport</artifactId>
<version>2.1</version>
<type>pom</type>
</dependency>
Атрибуты | Параметр |
---|---|
Скорость передачи данных (Baud Rate) | BAUDRATE |
Бит данных | 5, 6, 7, 8; значение по умолчанию — 8 |
Контрольный бит | Нет чётности (NONE), нечётная чётность (ODD), чётная чётность (EVEN); значение по умолчанию — нет чётности |
Стоповый бит | 1, 2; значение по умолчанию — 1 |
Управление потоком | Управление потоком не используется (NONE), аппаратное управление потоком (RTS/CTS), программное управление потоком (XON/XOFF); управление потоком по умолчанию не используется |
serialPortFinder.getAllDevicesPath();
serialHelper.setPort(String sPort); // установить последовательный порт
serialHelper.setBaudRate(int iBaud); // установить скорость передачи данных
serialHelper.setDataBits(int dataBits); // установить бит данных
serialHelper.setParity(int parity); // установить контрольный бит
serialHelper.setFlowCon(int flowcon); // установить управление потоком
Настройки свойств последовательного порта должны быть установлены до выполнения функции
open()
.
serialHelper.open();
serialHelper.close();
serialHelper.send(byte[] bOutArray); // отправить byte[]
serialHelper.sendHex(String sHex); // отправить Hex
serialHelper.sendTxt(String sTxt); // отправить ASCII
@Override
protected void onDataReceived(final ComBean comBean) {
Toast.makeText(getBaseContext(), new String(comBean.bRec, "UTF-8"), Toast.LENGTH_SHORT).show();
}
Поддерживает обработку «залипших» пакетов, причина описана в Issue, предоставленный «залипший» пакет. Обработка
Поддерживает пользовательскую обработку липких пакетов.
Шаг 1 Первым шагом является реализация интерфейса AbsStickPackageHelper (https://github.com/xmaihh/Android-Serialport/blob/master/serialport/src/main/java/tp/xmaihh/serialport/stick/AbsStickPackageHelper.java).
/**
* Принять сообщение, помощник обработки липкого пакета, вернуть окончательные данные через входной поток, необходимо вручную обработать липкий пакет, а возвращённый byte[] — это полные данные, которые мы ожидали.
* Примечание: этот метод будет вызываться повторно до тех пор, пока не будет разрешён полный фрагмент данных. Этот метод является синхронным, старайтесь не выполнять длительные операции, иначе он заблокирует чтение данных.
*/
public interface AbsStickPackageHelper {
byte[] execute(InputStream is);
}
Шаг 2 Настройте обработку липкого пакета.
serialHelper.setStickPackageHelper(AbsStickPackageHelper mStickPackageHelper);
Инструменты отладки на стороне ПК Инструмент для последовательной отладки для Win
adb shell chmod 666 /dev/ttyS1
Пожалуйста, внесите свой вклад! Проблемы и запросы на вытягивание приветствуются.
Спасибо за вашу помощь в улучшении программного обеспечения, одно изменение за раз!
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )