скорость передачи Raspberry Pi UART заблокирована на 9600

Я использовал raspberry pi с конвертером usb в rs232, но теперь мне нужно использовать выводы UART Raspberry Pi, но у меня такая глупая проблема.

Я использую библиотеку termios.h в C (http://en.wikibooks.org/wiki/Serial_Programming/termios) и он работает очень хорошо с конвертером, но когда я использую контакты UART, в то время как я устанавливаю скорость передачи как

cfsetospeed(&tio,B115200);            // 115200 baud
cfsetispeed(&tio,B115200);            // 115200 baud

Скорость передачи данных все еще работает на 9600. Есть ли другие настройки, которые я должен сделать с библиотекой termios? Если нет, что я должен сделать, чтобы изменить скорость передачи данных?

Также я попробовал с скоростью передачи данных 4800, и она все еще работает с 9600, когда я использую UART, но с конвертером usb в rs232 нет никаких проблем.

Я пользуюсь библиотекой

https://github.com/irukeru/TermiosSerialCom

что я модифицировал и нет проблем с другими устройствами.

0

Решение

В этой теме я не вижу ответа на OP, поэтому, поскольку я потратил много времени на его поиск и в интересах общественности, вот как изменить скорость передачи UART по умолчанию на Raspberry Pi:
Просто отредактируйте файл /boot/config.txt добавить следующую строку:

init_uart_baud=115200

Для этого вам понадобятся права суперпользователя, поэтому не забудьте начать с sudo su а потом nano /boot/config.txt или просто sudo nano /boot/config.txt и добавьте конкретную строку в конце.
Потом перезагрузка (sudo reboot).

Для дополнительных параметров конфигурации /boot/config.txt проверьте следующее ссылка на сайт.

1

Другие решения


По вопросам рекламы [email protected]