您尚未登录。

楼主 #1 2020-06-19 09:54:13

zhang235hai
会员
注册时间: 2020-04-06
已发帖子: 212
积分: 165

V3S怎么配置UART1/UART2的RTS引脚来实现485功能

为了在较高波特率的情况下使用485功能,所以需要配置串口的RTS,在哪里可以配置这个引脚呢?

离线

#2 2020-06-19 09:55:40

有梦的地方
会员
注册时间: 2020-03-17
已发帖子: 284
积分: 284

Re: V3S怎么配置UART1/UART2的RTS引脚来实现485功能

dts

离线

楼主 #3 2020-06-19 09:57:15

zhang235hai
会员
注册时间: 2020-04-06
已发帖子: 212
积分: 165

Re: V3S怎么配置UART1/UART2的RTS引脚来实现485功能

有梦的地方 说:

dts

sun8i-v3s.dtsi:
sun8i-v3s-licheepi-zero.dts:
是这两个文件吗?
能说得具体一点吗?
谢谢

离线

#4 2020-06-19 10:06:55

哇酷小二
管理员
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,388
积分: 1902
个人网站

Re: V3S怎么配置UART1/UART2的RTS引脚来实现485功能

zhang235hai 说:

sun8i-v3s.dtsi:
sun8i-v3s-licheepi-zero.dts:
是这两个文件吗?
能说得具体一点吗?
谢谢

先改 sun8i-v3s.dtsi

                        uart0_pins_a: uart0@0 {
                                pins = "PB8", "PB9";
                                function = "uart0";
                        };

                        uart1_pins_a: uart1@0 {
                                pins = "PE21", "PE22";
                                function = "uart1";
                        };

                        uart2_pins_a: uart2@0 {
                                pins = "PB0", "PB1";
                                function = "uart2";
                        };

先要改引脚配置, 看能否起作用.

如果不行, 还得改dts:

&uart2 {
    pinctrl-0 = <&uart2_pins_a>;
    pinctrl-names = "default";
    status = "okay";
};

再不行只能继续改应用程序。





离线

#5 2020-06-19 10:13:10

mark
会员
注册时间: 2020-01-11
已发帖子: 21
积分: 15.5

Re: V3S怎么配置UART1/UART2的RTS引脚来实现485功能

如果单纯使用485功能,不需要单独io控制发送方向,使用硬件自动切换功能电路就可以了, 操作485同操作串口一样,

需要注意发送接收时序,使用485,就是相当于串口单双工模式

离线

楼主 #6 2020-06-19 10:17:23

zhang235hai
会员
注册时间: 2020-04-06
已发帖子: 212
积分: 165

Re: V3S怎么配置UART1/UART2的RTS引脚来实现485功能

哇酷小二 说:

先改 sun8i-v3s.dtsi

                        uart0_pins_a: uart0@0 {
                                pins = "PB8", "PB9";
                                function = "uart0";
                        };

                        uart1_pins_a: uart1@0 {
                                pins = "PE21", "PE22";
                                function = "uart1";
                        };

                        uart2_pins_a: uart2@0 {
                                pins = "PB0", "PB1";
                                function = "uart2";
                        };

先要改引脚配置, 看能否起作用.

如果不行, 还得改dts:

&uart2 {
    pinctrl-0 = <&uart2_pins_a>;
    pinctrl-names = "default";
    status = "okay";
};

再不行只能继续改应用程序。

目前我三个串口都可以正常工作,只是我需要用用其中的一个作为485通讯,波特率要比较高,所以必须配一个io控制发送方向才能实现高速,我目前不知道改怎么配置这个io

离线

#7 2020-06-19 10:18:14

哦豁哦豁
会员
注册时间: 2020-01-17
已发帖子: 79
积分: 79

Re: V3S怎么配置UART1/UART2的RTS引脚来实现485功能

zhang235hai 说:

目前我三个串口都可以正常工作,只是我需要用用其中的一个作为485通讯,波特率要比较高,所以必须配一个io控制发送方向才能实现高速,我目前不知道改怎么配置这个io

对啊, 在上面把 CTS/RTS加到 pin ctrls 里面去先。

最近编辑记录 哦豁哦豁 (2020-06-19 10:18:23)

离线

楼主 #8 2020-06-19 10:18:27

zhang235hai
会员
注册时间: 2020-04-06
已发帖子: 212
积分: 165

Re: V3S怎么配置UART1/UART2的RTS引脚来实现485功能

mark 说:

如果单纯使用485功能,不需要单独io控制发送方向,使用硬件自动切换功能电路就可以了, 操作485同操作串口一样,

需要注意发送接收时序,使用485,就是相当于串口单双工模式

如果不单独用一个io控制发送方向实现不了高速通讯,只能在比较低的波特率下工作,我现在卡在不知道改怎么配置这个io

离线

楼主 #9 2020-06-19 10:23:44

zhang235hai
会员
注册时间: 2020-04-06
已发帖子: 212
积分: 165

Re: V3S怎么配置UART1/UART2的RTS引脚来实现485功能

哦豁哦豁 说:

对啊, 在上面把 CTS/RTS加到 pin ctrls 里面去先。

uart2_pins_a: uart2@0 {
        pins = "PB0", "PB1";
        function = "uart2";
};

&uart2 {
    pinctrl-0 = <&uart2_pins_a>;
    pinctrl-names = "default";
    status = "okay";
};

是这两个地方吗,我是想用uart2的RTS PB2引脚,具体怎么加呢?

离线

#10 2020-06-19 10:39:34

哇酷小二
管理员
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,388
积分: 1902
个人网站

Re: V3S怎么配置UART1/UART2的RTS引脚来实现485功能

pins = "PB0", "PB1", "PB2", "PB3";





离线

楼主 #11 2020-06-19 11:19:15

zhang235hai
会员
注册时间: 2020-04-06
已发帖子: 212
积分: 165

Re: V3S怎么配置UART1/UART2的RTS引脚来实现485功能

哇酷小二 说:

pins = "PB0", "PB1", "PB2", "PB3";

好的   我先试试

离线

楼主 #12 2020-06-19 11:42:35

zhang235hai
会员
注册时间: 2020-04-06
已发帖子: 212
积分: 165

Re: V3S怎么配置UART1/UART2的RTS引脚来实现485功能

zhang235hai 说:

好的   我先试试

增加了之后PB2引脚在打开关闭串口2的时候会出现高低电平的变化,但是进行数据发送的时候始终是低电平,发送不成功

离线

#13 2020-06-19 11:50:00

哇酷小二
管理员
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,388
积分: 1902
个人网站

Re: V3S怎么配置UART1/UART2的RTS引脚来实现485功能

zhang235hai 说:

增加了之后PB2引脚在打开关闭串口2的时候会出现高低电平的变化,但是进行数据发送的时候始终是低电平,发送不成功

看下是不是应用程序还要配置 ttyS2 才能使能RTS/CTS





离线

楼主 #14 2020-06-19 13:41:41

zhang235hai
会员
注册时间: 2020-04-06
已发帖子: 212
积分: 165

Re: V3S怎么配置UART1/UART2的RTS引脚来实现485功能

哇酷小二 说:

看下是不是应用程序还要配置 ttyS2 才能使能RTS/CTS

应用程序具体是指哪个部分呢?能说得详细一点吗?

离线

#15 2020-06-19 14:11:36

哇酷小二
管理员
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,388
积分: 1902
个人网站

Re: V3S怎么配置UART1/UART2的RTS引脚来实现485功能

zhang235hai 说:

应用程序具体是指哪个部分呢?能说得详细一点吗?

https://www.tldp.org/HOWTO/Modem-HOWTO-7.html#ss7.2

stty -F /dev/ttyS2 crtscts





https://blog.csdn.net/showmeeh/article/details/88121855

使用stty配置具体参数有效或无效

# stty -F /dev/ttyS1 crtscts //使ttyS1 的 crtscts 有效

# stty -F /dev/ttyS1 -crtscts //使ttyS1 的 crtscts 无效





离线

页脚

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

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