嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑
. G+ B. v2 A4 m7 W# O: t0 W+ E8 C9 y" c2 @5 V
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,9 q# m3 G1 S. h9 ^+ R6 v8 {

( S; s" q9 ?4 O9 n" o0 q2 v
6 G. D( _& b# b3 W
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
( ^; w$ G1 D6 @- h! e  *** DaVinci Core Type ***                                                              | |
' b" S- |9 D- o; }" t0 E8 w* |  | |                    [ ] DaVinci 644x based system                                                              | |
3 N  o/ `' n" V* R  | |                    [ ] DaVinci 355 based system                                                               | |
7 q# k" O3 p9 K% i) L  | |                    [ ] DaVinci 646x based system                                                              | |
* y& U% O  l. Z& o6 d5 T  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |% z6 c8 ]/ L- y" S' J
  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |  w& I: t. n1 f% q; P$ g, Z" M! |
  | |                    [ ]   Enable UART1 flow control                                                            | |% o- T% x, Q5 z) A4 c$ K
  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |
8 M, b0 O2 Q) a. J' O* H  | |                    [*]   Enable UART1 RS485 funcation / S! P# m# R7 s5 W2 e
$ E2 W+ B2 ?3 F* D* I% n) r
想了解详细的功能实现,也可以查看8250.c文件里面的;
, [% `  T+ n, S* D/ p8 Nvoid serial8250_tx_chars(struct uart_8250_port *up)
7 H+ _. h" H( q7 k# |8 a                return;) T) a' A+ n- @5 a4 w: E" j4 p
        }
, n" i% i7 E% O4 y- k' r1 a2 H' Z+ `3 e( I# j- ?! a1 d
+#if 1' C- g( f9 U, D0 x+ ]
+       /* The funcation with RS485 flow control */$ N9 E0 B  v  s7 C& p* ^  x$ E
+       if (up->port.private_data) {
# m7 K! d5 c8 n( s5 I7 P; |+               struct serial8250_flow_ctrl *flow_ctrl_p;; \( y! m0 I9 N( F% y4 Z* }2 K
+               flow_ctrl_p = up->port.private_data;
2 Y4 O% c4 A1 {4 }4 P( c% o: D! m' p+: U) X  }3 ~$ o- t8 v
+               if (flow_ctrl_p->gpio) {3 x8 d' R; z8 }; @# L  p( c0 A
+                       gpio_set_value(flow_ctrl_p->gpio, 1);
# F& J, c. _0 q  D- c+                       ndelay(50); /* Propagation delay >= 50ns */8 f. y1 C  r: X5 A8 b
+               }
/ s  s9 q' z) \" `5 J2 A! N+       }  i, n5 N, P5 y6 P- n! f
+#endif8 n* u) R( O4 x+ O9 }
希望对您有帮助。
( ~' a% Z8 m. L  `- L
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊
, d* P9 R: i+ x2 @# M! F/ O# w' Z5 x! y( E4 z' m

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。: h. z. v9 F( U# q0 Q* p' W5 U

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28
9 ~% q, c6 ]; I5 t( ?+ @. g, _0 v9 \* f你说的serial8250_tx_chars函数没有你下面写的部分啊
9 U" D! E; T' v' g
在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码9 k" X- \7 g. \

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




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