取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Visitor
Visitor
393 次查看
注册日期: ‎05-27-2020

用cat命令读不到串口中的值

转到解答

cat.png使用echo命令给ttyPS0发送了数据,为什么用cat指令收不到呀

0 项奖励
1 个已接受解答

已接受的解答
Highlighted
Xilinx Employee
Xilinx Employee
317 次查看
注册日期: ‎06-19-2019

回复: 用cat命令读不到串口中的值

转到解答

当前终端设备是ttyPS0指的是当前你系统的信息是通过ttyPS0这个串口和你交互的。如果你切换了系统控制台相连接的uart为ttyPS1,那么你系统的这些信息就会从ttyPS1这个串口上输出了。也就是说,你需要更换板子和你电脑的uart连接到ttyPS1这个串口上,才能重新看到系统的输出信息了。

所以你从ttyUL0端口上输出的信息,如果cat它连接的设备也没有值的话,你首先要检查一下ttyUL0是否将信息输出出去了。

如果你是自回环,那么就在vivado工程里加上ILA去抓取下tx信号来确认。

------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------

在原帖中查看解决方案

9 条回复9
Highlighted
Xilinx Employee
Xilinx Employee
364 次查看
注册日期: ‎06-19-2019

回复: 用cat命令读不到串口中的值

转到解答

你ttyPS0连接到哪个设备上了?

cat是用来读取收到的值。

------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------
0 项奖励
Highlighted
Visitor
Visitor
356 次查看
注册日期: ‎05-27-2020

回复: 用cat命令读不到串口中的值

转到解答
先用了echo命令往里面写了数据呀,这样的话不就可以用cat读取了吗
0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
349 次查看
注册日期: ‎09-14-2018

回复: 用cat命令读不到串口中的值

转到解答

HI @Sk268444 

你对tty设备的理解有些误区,你的执行结果是正常的。ttyPS0是当前使用的终端,

1. echo *** > /dev/ttyPS0 就直接将字符发送显示到终端上。

2. cat /dev/ttyPS0应该显示接收到的字符,但是执行这条指令时并没有字符发送到ttyPS0上。

 

----------------------------------------------------------------------------------------------
如果帖子有帮助,别忘“接受为解决方案”或“奖励”。谢谢!
Don't forget to "Accept as solution" or "Kudo" if it helps. Thanks!
----------------------------------------------------------------------------------------------

Highlighted
Xilinx Employee
Xilinx Employee
346 次查看
注册日期: ‎09-14-2018

回复: 用cat命令读不到串口中的值

转到解答

补充下,/dev/ttyPS0不是普通文件,读写操作产生的行为是由设备(或者确切的说是设备驱动程序)决定的。

 

Highlighted
Visitor
Visitor
341 次查看
注册日期: ‎05-27-2020

回复: 用cat命令读不到串口中的值

转到解答
哦哦哦,那请问怎样可以更改当前使用的终端,我在VIVADO中添加了一个AXI Uartlite ,将其的tx和rx端连接,它在设备中对应的为ttyUL0,想把终端改成ttyUL0,这个是不是就能用cat命令读取到echo发送的数据了,但是不知道怎样更改当前终端
0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
326 次查看
注册日期: ‎06-19-2019

回复: 用cat命令读不到串口中的值

转到解答

你从ttyUL0发出的信息被ttyUL1接收到的话,直接cat ttyUL1设备应该就能看到结果了。

不需要切换当前的终端设备。

------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------
0 项奖励
Highlighted
Visitor
Visitor
323 次查看
注册日期: ‎05-27-2020

回复: 用cat命令读不到串口中的值

转到解答
你好,那这个当前终端是ttyPS0,用echo命令给ttyUL0发数据,没有反应,所以是不是应该将终端换成ttyUL0呀
0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
318 次查看
注册日期: ‎06-19-2019

回复: 用cat命令读不到串口中的值

转到解答

当前终端设备是ttyPS0指的是当前你系统的信息是通过ttyPS0这个串口和你交互的。如果你切换了系统控制台相连接的uart为ttyPS1,那么你系统的这些信息就会从ttyPS1这个串口上输出了。也就是说,你需要更换板子和你电脑的uart连接到ttyPS1这个串口上,才能重新看到系统的输出信息了。

所以你从ttyUL0端口上输出的信息,如果cat它连接的设备也没有值的话,你首先要检查一下ttyUL0是否将信息输出出去了。

如果你是自回环,那么就在vivado工程里加上ILA去抓取下tx信号来确认。

------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------

在原帖中查看解决方案

Highlighted
Visitor
Visitor
303 次查看
注册日期: ‎05-27-2020

回复: 用cat命令读不到串口中的值

转到解答
哦哦哦,好的,谢谢了
0 项奖励