嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑
3 O6 ]0 B$ Z# n0 o! _( `/ K; {! R4 o7 ^, d
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,
6 k1 n9 }# q5 r# q5 d$ Q4 d8 p# t/ V& l8 P9 k5 X( g; {) U
1 f  Q% S+ O/ O1 x4 |

作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。' C  i: y. w8 O8 n# `
  *** DaVinci Core Type ***                                                              | |3 D: l. {6 N+ D
  | |                    [ ] DaVinci 644x based system                                                              | |
( E. p: l, ^9 t8 C' P- G8 O& I  | |                    [ ] DaVinci 355 based system                                                               | |$ l' P0 v" n; m9 K" I2 U4 ^" |
  | |                    [ ] DaVinci 646x based system                                                              | |
2 B1 X( R1 b9 J+ v  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
9 O2 A4 W8 y0 T% q4 Z; S  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |3 m, m! u9 j: `, p+ k: D
  | |                    [ ]   Enable UART1 flow control                                                            | |% x; f$ `  o4 v$ x# R% n. Y( i) D
  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |
1 I6 J6 m3 ?- E' E; R. Q# X  | |                    [*]   Enable UART1 RS485 funcation
% i* [- a4 V3 W8 L
0 p$ A; h1 z  Q想了解详细的功能实现,也可以查看8250.c文件里面的;) o- |/ M1 J/ r2 J4 D0 e
void serial8250_tx_chars(struct uart_8250_port *up)
+ h2 [/ [% h7 E+ e! q                return;
( Q2 x3 {8 ~$ J/ n2 e3 X2 c5 v+ ]        }6 t& m9 P; ]' p0 |) W6 R/ \
0 Y  d, [$ u' \* C% m* ?
+#if 1* U/ O. h1 ]/ w6 S
+       /* The funcation with RS485 flow control */' f. o% T1 i8 A* W
+       if (up->port.private_data) {& [) C( T8 V1 C
+               struct serial8250_flow_ctrl *flow_ctrl_p;
/ D& `4 l4 C# g; k5 e' K+               flow_ctrl_p = up->port.private_data;9 L3 L. }- N( O* _5 Y
+, ]- ^1 u% _! T
+               if (flow_ctrl_p->gpio) {9 c' D& N* l* V6 E
+                       gpio_set_value(flow_ctrl_p->gpio, 1);* ]& L3 W+ b: ]# L, J3 f" Q
+                       ndelay(50); /* Propagation delay >= 50ns */! _. e, k3 j, ?& _
+               }/ b1 T) ~( e4 O
+       }
8 ^! A: R& l) L/ b' M+#endif1 O$ s/ q$ Q5 V* P5 C" |; A. ]5 {
希望对您有帮助。
! p; c% y; r  o6 t$ O$ @
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊
3 M" q7 @- _1 q0 b5 L. ]' w5 P, e- G$ m1 E7 {9 c% l1 u

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。
+ [- R% U# |/ M) `+ M" K4 K2 q- k
作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28
, L! ~2 ^- p& j; o你说的serial8250_tx_chars函数没有你下面写的部分啊

' H  C1 [- U5 u" S在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码
0 E4 X+ ]: i  Z& ?
作者: sddxzzf    时间: 2014-11-18 17:20
提示: 作者被禁止或删除 内容自动屏蔽




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