您尚未登录。

楼主 #1 2017-11-20 17:14:20

kuji
会员
注册时间: 2017-11-14
已发帖子: 12
积分: 12

各位大神,荔枝派Zero V3s如何使用uart1,uart2, 我项目中要用到两个用户串口。

各位大神,荔枝派Zero V3s如何使用uart1,uart2, 我项目中要用到两个用户串口。
请教我应该从哪里入手?

离线

楼主 #2 2017-11-20 17:23:45

kuji
会员
注册时间: 2017-11-14
已发帖子: 12
积分: 12

Re: 各位大神,荔枝派Zero V3s如何使用uart1,uart2, 我项目中要用到两个用户串口。

对了, 我用的不是camdroid坑卓,而是 4.13-y主线内核
请大侠不吝赐教

离线

#3 2017-11-20 17:24:29

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 各位大神,荔枝派Zero V3s如何使用uart1,uart2, 我项目中要用到两个用户串口。

https://www.kancloud.cn/lichee/lpi0/327885
http://bbs.ilichee.cc/t/enabling-uart2-kernel/182

hi, you should modify those files to enable uart2:

sun8i-v3s.dtsi:
uart0_pins_a: uart0@0 { pins = “PB8”, “PB9”;function = “uart0”;bias-pull-up; };
uart1_pins_a: uart1@0 { pins = “PE21”, “PE22”;function = “uart1”;bias-pull-up; };
uart2_pins_a: uart2@0 { pins = “PB0”, “PB1”;function = “uart2”;bias-pull-up; };
sun8i-v3s-licheepi-zero.dts:
&uart0 { pinctrl-0 = <&uart0_pins_a>;pinctrl-names = “default”;status = “okay”; };
&uart1 { pinctrl-0 = <&uart1_pins_a>;pinctrl-names = “default”;status = “okay”; };
&uart2 { pinctrl-0 = <&uart2_pins_a>;pinctrl-names = “default”;status = “okay”; };

看下这个能不能帮到你。





离线

#4 2017-12-01 15:02:13

1066950103
会员
注册时间: 2017-11-17
已发帖子: 61
积分: 46

Re: 各位大神,荔枝派Zero V3s如何使用uart1,uart2, 我项目中要用到两个用户串口。

晕哥 说:

https://www.kancloud.cn/lichee/lpi0/327885
http://bbs.ilichee.cc/t/enabling-uart2-kernel/182

hi, you should modify those files to enable uart2:

sun8i-v3s.dtsi:
uart0_pins_a: uart0@0 { pins = “PB8”, “PB9”;function = “uart0”;bias-pull-up; };
uart1_pins_a: uart1@0 { pins = “PE21”, “PE22”;function = “uart1”;bias-pull-up; };
uart2_pins_a: uart2@0 { pins = “PB0”, “PB1”;function = “uart2”;bias-pull-up; };
sun8i-v3s-licheepi-zero.dts:
&uart0 { pinctrl-0 = <&uart0_pins_a>;pinctrl-names = “default”;status = “okay”; };
&uart1 { pinctrl-0 = <&uart1_pins_a>;pinctrl-names = “default”;status = “okay”; };
&uart2 { pinctrl-0 = <&uart2_pins_a>;pinctrl-names = “default”;status = “okay”; };

看下这个能不能帮到你。

坑哥!来寻求帮助了 设备树我已经改了,我只添加了串口2。改了之后还是不能成功,我写了个程序来打开ttyS2 能打开成功,但是读和写都是失败的。麻烦指点一下呢。大伙都是怎样做的呢?

离线

#5 2017-12-01 15:13:16

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 各位大神,荔枝派Zero V3s如何使用uart1,uart2, 我项目中要用到两个用户串口。

如何失败的?请提供详细信息
我这边通过UART1操作加密芯片是正常的, UART2暂时还没有测试。
你可以先试一试UART1, 我保证UART1是绝对可以用的。





离线

#6 2017-12-01 16:42:04

1066950103
会员
注册时间: 2017-11-17
已发帖子: 61
积分: 46

Re: 各位大神,荔枝派Zero V3s如何使用uart1,uart2, 我项目中要用到两个用户串口。

晕哥 说:

如何失败的?请提供详细信息
我这边通过UART1操作加密芯片是正常的, UART2暂时还没有测试。
你可以先试一试UART1, 我保证UART1是绝对可以用的。

问题已经解决了。我在硬件上操作的是串口2 因为串口1引脚有触摸芯片,所以我选择串口。大伙都是把三个串口的设备树都配置,我怕影响触摸芯片的。我只配置的串口0和串口2,按照正常思维逻辑我设备树配置好了然后操作ttyS2文件就可以操作串口2了 事实不是这样的,我们应该操作ttyS1 。关于为什么估计要研究udev之类的了,太深奥了。暂时不去学习它。

离线

#7 2017-12-01 17:10:25

bugfix
会员
注册时间: 2017-11-22
已发帖子: 125
积分: 125

Re: 各位大神,荔枝派Zero V3s如何使用uart1,uart2, 我项目中要用到两个用户串口。

1066950103 说:
晕哥 说:

如何失败的?请提供详细信息
我这边通过UART1操作加密芯片是正常的, UART2暂时还没有测试。
你可以先试一试UART1, 我保证UART1是绝对可以用的。

问题已经解决了。我在硬件上操作的是串口2 因为串口1引脚有触摸芯片,所以我选择串口。大伙都是把三个串口的设备树都配置,我怕影响触摸芯片的。我只配置的串口0和串口2,按照正常思维逻辑我设备树配置好了然后操作ttyS2文件就可以操作串口2了 事实不是这样的,我们应该操作ttyS1 。关于为什么估计要研究udev之类的了,太深奥了。暂时不去学习它。

感觉我没有看明白.

离线

#8 2017-12-06 16:34:13

1066950103
会员
注册时间: 2017-11-17
已发帖子: 61
积分: 46

Re: 各位大神,荔枝派Zero V3s如何使用uart1,uart2, 我项目中要用到两个用户串口。

bugfix 说:
1066950103 说:
晕哥 说:

如何失败的?请提供详细信息
我这边通过UART1操作加密芯片是正常的, UART2暂时还没有测试。
你可以先试一试UART1, 我保证UART1是绝对可以用的。

问题已经解决了。我在硬件上操作的是串口2 因为串口1引脚有触摸芯片,所以我选择串口。大伙都是把三个串口的设备树都配置,我怕影响触摸芯片的。我只配置的串口0和串口2,按照正常思维逻辑我设备树配置好了然后操作ttyS2文件就可以操作串口2了 事实不是这样的,我们应该操作ttyS1 。关于为什么估计要研究udev之类的了,太深奥了。暂时不去学习它。

感觉我没有看明白.

就是串口号ttys0-2是根据你当前设备树里面来的,不完全是根据板子的丝印编号来的。比如设备树里面只有串口0和串口2 那么串口0是ttyS0 串口2就是ttyS1。

离线

#9 2017-12-06 17:08:50

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 各位大神,荔枝派Zero V3s如何使用uart1,uart2, 我项目中要用到两个用户串口。

原来如此!





离线

#10 2018-07-31 15:20:20

奇异果
会员
注册时间: 2018-07-30
已发帖子: 22
积分: 22

Re: 各位大神,荔枝派Zero V3s如何使用uart1,uart2, 我项目中要用到两个用户串口。

我现在也是想使用开发板上面的串口0和串口2,但是为什么在dev下面ttyS0和ttyS1都有,也能打开,但是使用的时候就会说我标准输入输出错误。求大佬指点。

离线

#11 2018-07-31 15:28:57

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 各位大神,荔枝派Zero V3s如何使用uart1,uart2, 我项目中要用到两个用户串口。

你列一下串口设备文件:

# ls /dev/ttyS* -l
crw-rw----    1 root     root        4,  64 Jul 19 07:32 /dev/ttyS0
crw-rw----    1 root     root        4,  65 Jul 31 15:02 /dev/ttyS1
crw-rw----    1 root     root        4,  66 Jul 31 15:02 /dev/ttyS2

看是不是 64, 65, 66 这样?

还有设备树有没有开启 uart0, uart1 ?

最重要的问题来了, 你不在在串口终端下开启当前的 串口tty,

比如你的串口终端是 ttyS0, 那么不能在这个串口下再次通过任何应用程序打开 ttyS0.

曲线做法是你改一下bootargs, 把默认串口定位到别的串口,比如 ttyS1,
然后在这个控制台下打开 ttyS0.





离线

#12 2018-07-31 15:42:33

奇异果
会员
注册时间: 2018-07-30
已发帖子: 22
积分: 22

Re: 各位大神,荔枝派Zero V3s如何使用uart1,uart2, 我项目中要用到两个用户串口。

我现在串口下面的是这个样子。
# ls /dev/ttyS* -l
crw-------    1 root     root        4,  64 Jan  1 00:00 /dev/ttyS0
crw-------    1 root     root        4,  65 Jan  1 00:00 /dev/ttyS1
crw-------    1 root     root        4,  66 Jan  1 00:00 /dev/ttyS2
crw-------    1 root     root        4,  67 Jan  1 00:00 /dev/ttyS3
crw-------    1 root     root        4,  68 Jan  1 00:00 /dev/ttyS4
crw-------    1 root     root        4,  69 Jan  1 00:00 /dev/ttyS5
crw-------    1 root     root        4,  70 Jan  1 00:00 /dev/ttyS6
crw-------    1 root     root        4,  71 Jan  1 00:00 /dev/ttyS7


您说的设备树有没有开启 uart0, uart1是指在内核中配置串口吗?如果是的话应该在内核的什么地方配置啊?
终端默认的是ttyS0这个我倒是知道,因为我试了一下使用ttyS0确实可以使用,但是终端就用不了了。

我现在想使用芯片上的uart2,来测试我的串口程序是否可用,外接出来的引脚已经找到了,但是就是打开ttyS1的时候可以打开fd_tty = open("/dev/ttyS1", O_RDWR)可以,但是读或写fd_tty的时候提示标准输出输入错误。

# ls /dev/ttyS2
/dev/ttyS2
# ./uart-test /dev/ttyS1
tcsetattr fd: Input/output error
SetupSerial 1: Input/output error
Set Parity Error

离线

#13 2018-07-31 15:54:55

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 各位大神,荔枝派Zero V3s如何使用uart1,uart2, 我项目中要用到两个用户串口。

感觉你没有在设备树开启 uart1,

修改这个文件: arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dts

方法参考3楼





离线

#14 2019-10-14 11:16:06

yuliang_8
会员
所在地: 番禺 广州 中国
注册时间: 2019-08-28
已发帖子: 20
积分: 20

Re: 各位大神,荔枝派Zero V3s如何使用uart1,uart2, 我项目中要用到两个用户串口。

那我这边也是测试了 UART1, UART2,设备树都是正确的,串口也打开了,就是跟上位机,读写,波特率设置115200的时候,是乱码。
9600的时候,没这个问题。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn