Работа с UART
-
На сколько я понимаю по умолчанию на порт RS232 (тот что на /dev/ttyAMA0) выводиться консоль загрузки. Я собираюсь использовать этот порт и хотелось что бы в него ничего не выводилось. Вопрос где и что надо подправить?
-
На Raspbian вот так:
First use nano to open /boot/cmdline.txt and edit it to disable boot info being sent to the port.
$sudo nano /boot/cmdline.txt
The contents of the file should look a bit like this:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
Remove the highlighted text, this will stop boot infor being sent on startup. Press Ctrl+O to write the changes and Ctrl+X to exit nano.
Now we need to edit /etc/inittab to disable console login on the serial port. Open this file with nano
$sudo nano /etc/inittab
Look for this line:
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
And comment it out by adding # to the start of it. You can then save this file and exit nano like you did before.
Now you have made these changes we can reboot the Raspberry PI.
$sudo reboot
Your serial port should now be ready for you to use in your own software.
на Arch нет такого файла /etc/inittab, так что если кто мне подскажет как на арче выполнить настройку серийников - буду благодарен.
-
Другая проблема, связанная с UART'ом - ограничение максимальной скорости. Максимальное значение - 115200 КБит/с. Т.е. мы можем установить скорость в 115200 КБит/с:
sudo stty -F /dev/ttyAMA0 115200.
Но если мы попробуем ввести:
sudo stty -F /dev/ttyAMA0 230400 получим сообщение об ошибке:
Error: unable to perform all requared...
Мне нужна скорость в 1МБит/с.
Поиск в интернете выдал противоречивую информацию:
Кое-где пишут, что достаточно прописать строчку init_uart_clock=16000000 в файле /boot/config.txt. Попробовал - ничего не дало.
В другой статье вычитал, что необходимо изменить ядро и перекомпилировать его. Собственно этим сейчас и занимаюсь. Но инструкция в статье очень запутанная.
Вопрос к форумчанам: кому удавалось разогнать UART до 1МБит/с. Научите пожалуйста)