嵌入式开发者社区

标题: 关于RS485控制引脚 [打印本页]

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑
& U( @* z+ {" g7 }! @% _" S5 H' u- H1 ~
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,
* b( v5 x) u/ `0 j9 V% K" X. w
( V: W! d2 }% J1 o6 O2 j# Q
* z& x% X# R" M4 ^4 @0 x
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
+ \# X; S4 |% \" p' I  *** DaVinci Core Type ***                                                              | |
# |6 H6 d. ?$ Q# R  | |                    [ ] DaVinci 644x based system                                                              | |
: ^/ t6 ]( J! T  | |                    [ ] DaVinci 355 based system                                                               | |8 k5 i8 Q  t5 M/ f9 X. r
  | |                    [ ] DaVinci 646x based system                                                              | |
* ?7 H/ I8 r, e8 d7 S2 X  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |" x( I. `* a; q; [! J9 c" D; y+ P
  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |" H/ E5 Y* Q# B3 d
  | |                    [ ]   Enable UART1 flow control                                                            | |
; k8 b( a0 r% v! c  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |" M$ P9 X% X, s; T! E% A5 X: g, ]
  | |                    [*]   Enable UART1 RS485 funcation 4 M$ f$ n: e% a6 D( K4 k
5 V) p1 _8 ?7 D" N5 z& F$ C" U
想了解详细的功能实现,也可以查看8250.c文件里面的;
( J3 r; y: T" S" Kvoid serial8250_tx_chars(struct uart_8250_port *up); I$ A( a$ ~- u" z5 p
                return;8 p4 e- B- s/ o. ]; n  q
        }
( D( q# [, I( u0 K$ ^0 C+ I  p7 t; b8 c. }  D6 t2 S5 a; V: D
+#if 1. S/ l  D  v% C2 a! Q: A8 f
+       /* The funcation with RS485 flow control */& f* H& W5 l  l# |
+       if (up->port.private_data) {
- i+ z( o; V8 Z) K6 ^4 r* Q+               struct serial8250_flow_ctrl *flow_ctrl_p;0 E' O  u; @- B/ g: G4 K
+               flow_ctrl_p = up->port.private_data;
' }: Z& n/ S! S0 q4 g7 }  A) ]+0 e2 L! r; ^* D7 w% B
+               if (flow_ctrl_p->gpio) {0 o& r9 `5 Y8 N  Y4 @8 [
+                       gpio_set_value(flow_ctrl_p->gpio, 1);, K& f, O' i1 w3 [0 ?* s
+                       ndelay(50); /* Propagation delay >= 50ns */
0 [5 X9 c* n+ P4 |7 m5 r3 T+               }
) X7 I+ J, s8 ^* M. t) a6 u+       }7 u$ W0 [8 X% ?1 K
+#endif4 V9 n" c9 N- X, ^* k
希望对您有帮助。
, {) ]8 v# L: ?3 j1 ^+ p+ H
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊, M& ~$ l* p- L$ E1 T
5 {% `7 h+ |" }+ K: g7 \$ w

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。( C1 Z/ ]) N) H- a( o' P

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28- o: j/ w0 K3 f; m( `; M; y; g6 t
你说的serial8250_tx_chars函数没有你下面写的部分啊

' u8 `2 h7 v7 r7 X% p* V在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码( a! H3 Q7 p: x- l9 u5 Q8 @

作者: sddxzzf    时间: 2014-11-18 17:20
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4