我在开发板上有一个Ti处理器AM335x。没有两个uart连接到处理器。 uart0和uart2
默认情况下,只启用uart0,它适用于控制台。在我启用uart2之后,我将GPS连接到它,以便在我cat / dev / ttyO2时输出一些内容。但只有一些垃圾代码显示出来。
然后我将GPS连接到uart0,使用相同的命令cat / dev / ttyO0一切正常。 GPS输出正常显示。
然后我编辑我的uEnv.txt将我的控制台切换到uart2,它的工作原理。然后我将GPS连接到uart2,我可以cat / dev / ttyO2来获取所有内容。但是当我把GPS连接到uart0时。垃圾代码出现了。
我确实使用了stty进行设置,使它们全部相同,但是,我只能从连接控制台的uart中读取。
我运行命令dmesg | grep tty,这是输出
[0.000000] Kernel command line: console=ttyO2,115200n8 root=/dev/mmcblk0 rw ext4 rootwait verbose debug
[0.234749] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 154m, base_baud = 3000000) is a OMAP UART0
[0.235338] 48024000.serial: ttyO2 at MMIO 0x48024000 (irq = 155m, base_baud = 3000000) is a OMAP UART2
[0.824084] console [ttyO2] enabled
第一个和第四个将改变我放置控制台的uart的基础。 我错过了任何配置吗?为什么我只能从我放置控制台的uart中读取精确数据。和其他人不起作用。
任何想法都会有所帮助。感谢。
这是我更改代码以启用uart2的方法。 linux compile for enable uart2
答案 0 :(得分:0)
事实证明这是BAUDRATE问题。
不是因为我没有正确设置,是因为硬件问题。一旦我将GPS连接到uart2。 uart2波特率将改为9600,这给了我垃圾输出。如果我将波特率设置为115200并开始读取。然后连接我的GPS。我以正确的格式得到了我需要的一切。
仍然不知道GPS有什么问题,但这不应该成为这个问题的一部分。所以我会关闭这个。
谢谢,没有你的@domen我不会仔细检查那个波特率。