[英]Change the baud rate for BeagleBone UART0 running Angstrom Linux
我正在嘗試為我的BeagleBone Rev5啟用類似Arduino的串行輸出。
根據我的理解,UART映射是這樣的:UART0 <=> / dev / ttyO0
我正在運行最新的Angstrom發行版: http : //downloads.angstrom-distribution.org/demo/beaglebone/Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.12-beaglebone-2013.04.13.img.xz
我通過修改此文件禁用了/ dev / ttyO0上的Angstrom默認getty:
/etc/systemd/system/getty.target.wants/serial-gett@ttyO0.service
(從這個問題中收集: 在Angstrom Linux上自動登錄 )
我評論了一切,我相信應該停止getty從該端口開始。 完成后我重新啟動了電路板,無法通過串行控制台連接,因此似乎可以正常工作。
但我現在找不到有關如何配置UART的任何可靠信息,以便我可以傳輸數據。 我已經看了很多,但所有文檔都提到了Angstrom的舊版本,似乎沒有反映最新版本。
例如,他們都說要執行這樣的命令:
root@beaglebone:~# cat /sys/kernel/debug/omap_mux/uart1_rxd
( http://www.gigamegablog.com/2012/01/22/beaglebone-coding-101-using-the-serial-and-analog-pins/ )
但是當我嘗試那樣時,那里什么都沒有:
root@beaglebone:/sys/kernel/debug# ls
asoc gpio musb-hdrc.0.auto regulator usb
atmel_mxt_ts hid musb-hdrc.1.auto sched_features wakeup_sources
bdi iio pinctrl suspend_stats
bluetooth kprobes pm_debug tracing
dri memblock pwm ubi
f2fs mmc0 regmap ubifs
root@beaglebone:/sys/kernel/debug#
最新版本的Angstrom似乎是從2013年4月開始的,這比我見過的關於此的大多數博文都要新得多。 看起來Angstrom的新版本與舊版本不同。 有沒有人知道如何在新版本的Angstrom / BeagleBone上實際使用各種硬件?
root@beaglebone:/sys/kernel/debug# uname -a
Linux beaglebone 3.8.6 #1 SMP Sat Apr 13 09:10:52 CEST 2013 armv7l GNU/Linux
root@beaglebone:/sys/kernel/debug#
我喜歡一個特定的答案,但對於我在新版Angstrom中如何工作的任何信息都會非常滿意。
編輯:結果我只是沒有努力。 我將BeagleBone插入網絡並完成了
opkg update
opkg install python-pyserial
完成后,我能夠編寫一個小程序,以我想要的任何數據速率轉儲到內置串行/ USB端口(/ dev / ttyO0)。
對於串行禁用的getty,我可以毫無問題地編寫盡可能多的內容。 如果getty被重新打開,只要它發現速度較慢,速度較慢,就會中斷我的連接。
謝謝你的幫助。 我特別欣賞有關如何解決任何問題的信息:設備樹,因為這是我要面對的問題,因為我嘗試將BeagleBone用於其他項目。
您顯示的命令與波特率無關,它控制引腳多路復用。 許多微控制器具有比I / O引腳更多的外設功能,因此I / O引腳需要映射到外設,並非所有連接都可以。 對於您的情況,您需要將特定引腳指定為UART發送和接收。
我自己沒有這樣做,但我發現了大量的文檔描述了通過sysctl控制引腳復用,並且proc文件系統最近被基於Device-Tree的新系統所取代。 結果幾乎所有現有的例子都被打破了。 更糟糕的是,某些命令甚至可能沒有基於設備樹的等效工作。
就設置波特率而言,通常使用termios.h
cfsetispeed()
和cfsetospeed()
,如Unix規范中所述 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.