启用uart2,但从中读取不正确

时间:2016-09-30 21:24:49

标签: linux embedded uart

我在开发板上有一个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

1 个答案:

答案 0 :(得分:0)

事实证明这是BAUDRATE问题。

不是因为我没有正确设置,是因为硬件问题。一旦我将GPS连接到uart2。 uart2波特率将改为9600,这给了我垃圾输出。

如果我将波特率设置为115200并开始读取。然后连接我的GPS。我以正确的格式得到了我需要的一切。

仍然不知道GPS有什么问题,但这不应该成为这个问题的一部分。所以我会关闭这个。

谢谢,没有你的@domen我不会仔细检查那个波特率。