嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑 ( ~% m! H4 k9 s; }
4 ]. C2 J, @% O: @2 u
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,3 g! |4 L9 r/ F

6 R9 V5 f) |  `5 c( c3 l
# g1 o1 G: g6 B* [, ^4 F
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
! r" i8 \3 a+ X1 \8 C$ t4 A4 q  *** DaVinci Core Type ***                                                              | |
) g) M5 r+ ~- \; v- X: _+ i" R( x  | |                    [ ] DaVinci 644x based system                                                              | |
' K( e/ s5 p. x" j$ F6 w7 `% [8 D  | |                    [ ] DaVinci 355 based system                                                               | |
6 ^/ V+ }3 f. h9 Q* z" P6 a* o& v  | |                    [ ] DaVinci 646x based system                                                              | |
  B) a: G! b1 [& f" H8 w+ X. g5 d  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
  _1 `- g2 s5 c1 P! N  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |
  M6 q% ~5 t9 c! Q3 {" V  | |                    [ ]   Enable UART1 flow control                                                            | |
0 C3 {7 x) \( e% \  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |: I3 b2 Z8 o8 B( y8 v
  | |                    [*]   Enable UART1 RS485 funcation
% h  k! C% h. n9 J
; X2 `8 N- h! F5 ^( D, V5 Y想了解详细的功能实现,也可以查看8250.c文件里面的;; _  i* h& L( O- m+ X% L
void serial8250_tx_chars(struct uart_8250_port *up)  f/ I* [4 h' d& w# |
                return;, _9 Z3 G3 e0 ?% W
        }
6 R+ X* ~: t+ B" m
+ h* L" w" p# ]+ o7 }, Q+#if 1  K) `1 b6 \  A: G  |
+       /* The funcation with RS485 flow control */
! }5 G- L2 E- y* m+       if (up->port.private_data) {
& M, p2 Q4 f8 A5 R4 B+ n& d+ V; e" m+               struct serial8250_flow_ctrl *flow_ctrl_p;0 x: @, _) ]( t, b
+               flow_ctrl_p = up->port.private_data;5 C7 n0 `- a* U3 k/ A* V2 c
+
0 g; V* a# ?. ~) S+               if (flow_ctrl_p->gpio) {) S6 y! n8 e' Y& ^1 z7 q  \
+                       gpio_set_value(flow_ctrl_p->gpio, 1);
' B6 E5 `: A: G+                       ndelay(50); /* Propagation delay >= 50ns */1 W6 v! g. S+ h/ V$ z$ G* K2 h
+               }
5 @: p4 Z9 d- E0 ^! d; J+       }
/ R0 h: q# C4 Z" H$ I+#endif" x9 {) Z9 N9 Z
希望对您有帮助。
( X9 {/ q7 [2 f
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊
8 D% n0 m( L- j! y: \2 h% x2 S( a6 j1 L" Z3 X( i3 J

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。
' V( o9 r- L# H" ?0 ^/ m
作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28
4 {/ [8 E! U0 O" c% F你说的serial8250_tx_chars函数没有你下面写的部分啊
9 z2 q$ K! q: u. k& C4 p
在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码+ n( x0 E: x2 ?; }/ _* U

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




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