嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑 9 i* e" @: N2 z) U3 j2 n) h

- z6 G9 o$ X0 y我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,
. d  T9 M6 _& \# x: ^/ q$ h/ E% v' }; B" j1 I
8 f* v9 Q+ d3 J) y6 u* y

作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。0 J* y5 I6 P6 b: g6 x% @
  *** DaVinci Core Type ***                                                              | |
* N3 h' E* F$ R2 x( ^/ K  | |                    [ ] DaVinci 644x based system                                                              | |0 }6 f2 v, m: s$ ^
  | |                    [ ] DaVinci 355 based system                                                               | |
, s# }  H# ^8 @, @5 a6 O  | |                    [ ] DaVinci 646x based system                                                              | |( }# N# I; P# K  }! Q2 w; i& V. d' y
  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
4 N- w+ H  P& n* {  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |4 ]- f1 u7 ?4 M( w, H6 ^; V3 y
  | |                    [ ]   Enable UART1 flow control                                                            | |
% ]! g7 F( b, y* U9 W5 D: S; h  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |
7 _, e4 h- A8 F& M3 f  | |                    [*]   Enable UART1 RS485 funcation 5 O. o- a8 @! \! t# _- s( i
' u1 x$ w: K3 O5 b' @
想了解详细的功能实现,也可以查看8250.c文件里面的;' U, j% ?6 G. J1 V4 F
void serial8250_tx_chars(struct uart_8250_port *up)
0 b' C: e( ^3 `' T/ d; F                return;
# ^/ K; V5 M7 L; @, z6 G  w# y        }; o" h. [8 q4 ]. Y

! D+ s9 n7 U1 b  {. u7 v+#if 1
+ M2 m: m' N2 z. C+       /* The funcation with RS485 flow control */# T/ g0 @, s! L1 g$ r, c
+       if (up->port.private_data) {% {+ j* D5 K% W, j! k' M7 m
+               struct serial8250_flow_ctrl *flow_ctrl_p;
; B& [; \* t1 |/ ~0 i* ]1 E+               flow_ctrl_p = up->port.private_data;' N% N* e1 @5 S9 U5 o% s
+( t* p( [0 `1 E. \+ t, X
+               if (flow_ctrl_p->gpio) {/ h$ g& Y- m6 ?5 n
+                       gpio_set_value(flow_ctrl_p->gpio, 1);
3 _9 W# d! p8 g' P- K( H+                       ndelay(50); /* Propagation delay >= 50ns */
2 i9 g$ f! x$ {9 O2 F0 |& g+               }
4 Y- y! N# F  ]5 {+       }* x6 H3 c% L: j( j$ ?9 d8 y- R. B8 j0 V
+#endif
/ S$ o. t% @! i  z8 Q5 q% D' k希望对您有帮助。8 M8 F# W9 M/ g, X

作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊
: b: E9 h2 W+ `# }8 w6 [+ J& \1 f# _: q* l. b" q" n

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。7 N8 n  x, K  a! Q

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28
. i1 x! V+ n: L1 H你说的serial8250_tx_chars函数没有你下面写的部分啊

, f3 @$ z- r8 L' W在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码
% n9 w+ W4 z; _
作者: sddxzzf    时间: 2014-11-18 17:20
提示: 作者被禁止或删除 内容自动屏蔽




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