嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑   R  \7 `' i; e; E# ?9 L+ E
$ x4 K$ c3 K8 K/ j% b
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,; b& O) e, s' F( e
. g! M' Q; L5 {$ h( P/ p) s

9 f+ Z; d! e* g5 V: d$ T- L! `! D
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
( r% o) N* ]) [. q  *** DaVinci Core Type ***                                                              | |
+ ~+ s6 O$ L& d  | |                    [ ] DaVinci 644x based system                                                              | |
) j) G' j4 n) {# p& T6 V& K  | |                    [ ] DaVinci 355 based system                                                               | |% i/ Q$ I' N# H. X7 A
  | |                    [ ] DaVinci 646x based system                                                              | |
7 l7 A* F2 \8 ^9 I: {5 u  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
$ v- u+ X  c- p  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |
9 y! J4 n3 [# j  ^9 w: _. M1 `  | |                    [ ]   Enable UART1 flow control                                                            | |
! }9 h9 _) f7 G$ {) o+ C+ M  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |! T  I$ |0 a  J  Y! O  b
  | |                    [*]   Enable UART1 RS485 funcation : w: g% p9 ~0 V/ R5 ~+ k, G. l
" H) I' v3 j" O0 P6 l3 ~+ {6 f7 u, Z/ I
想了解详细的功能实现,也可以查看8250.c文件里面的;
3 ?3 _# i: o2 s( z+ M! ~void serial8250_tx_chars(struct uart_8250_port *up)
& n: ~% a/ }% u4 V                return;. `* [, C& \( q& I/ n! Q
        }
4 x3 r3 m- j! Z; X* ^8 }1 J+ V6 @( v; y& s2 q4 T3 C- A1 L
+#if 1! ]1 ?+ a! Y" F$ B6 ]
+       /* The funcation with RS485 flow control */- J; L/ R  I" q+ J: Q; `2 ?! U. e
+       if (up->port.private_data) {
0 G1 D4 n4 u! P+ n- g+               struct serial8250_flow_ctrl *flow_ctrl_p;
& L! r5 X, C! K: J9 n$ `. h+               flow_ctrl_p = up->port.private_data;1 L! w  N9 g  z3 D
+, ]3 a  S; |0 E7 b! X
+               if (flow_ctrl_p->gpio) {6 f% X$ H, X* f, {1 U% k
+                       gpio_set_value(flow_ctrl_p->gpio, 1);& ]5 U8 H  O+ r# ~9 Q
+                       ndelay(50); /* Propagation delay >= 50ns */
  a) ?- _8 i" s! j+ s+               }
, h5 n, p- Y( n& T& ^! z$ z4 u/ `4 W+ n+       }! q9 U1 @$ A9 B' Z% B( o5 a
+#endif
& E& D" y2 m  L( T# F, E: L6 X希望对您有帮助。
+ n5 E$ b7 w# V4 s: d: i
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊
+ A" [* _" T2 D: L$ V! A
3 Y+ u. E/ G) w4 z) F( Z5 y! P& L4 b
作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。
3 g! V: B- P9 X" z5 x/ K" Q
作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28
* _# ~. X$ n  G) m- u9 k你说的serial8250_tx_chars函数没有你下面写的部分啊

3 M" b( S1 n2 p& r0 B0 \# e$ w/ Q9 b在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码
: P8 F9 g* f# o) W. ]
作者: sddxzzf    时间: 2014-11-18 17:20
提示: 作者被禁止或删除 内容自动屏蔽




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