嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑
0 }  n& \5 H$ I0 u$ ^8 c; s, ]/ H5 I/ X+ g, |
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,7 c5 w, {& H# {8 |5 W
. |& c; E: a. m( _5 T  k
$ j  k& F- o8 R" |& Z/ i: y- `

作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
* i7 ?2 C8 R/ d: O  *** DaVinci Core Type ***                                                              | |
: z/ }9 l4 J9 Z6 K2 E( H, ~  | |                    [ ] DaVinci 644x based system                                                              | |
, k" P) ?$ ?  {  | |                    [ ] DaVinci 355 based system                                                               | |2 T( M5 @, G' c0 I
  | |                    [ ] DaVinci 646x based system                                                              | |. a) B, ^  b# |7 X* V
  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |  Y- t/ @, S5 O
  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |& h9 S1 B" b* \, G9 ^7 ]8 }
  | |                    [ ]   Enable UART1 flow control                                                            | |
1 N. M' J7 i1 n. L" I4 D  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |9 \! w, K* i3 O# K& B% E. y
  | |                    [*]   Enable UART1 RS485 funcation
, q5 z  \0 g- {/ U+ }( o
/ [7 x: m% U2 Y想了解详细的功能实现,也可以查看8250.c文件里面的;2 G2 G, t5 N9 J) ^9 U; C! g- u
void serial8250_tx_chars(struct uart_8250_port *up)& M4 B5 M$ e2 J, L' a9 b! V
                return;5 |- |6 q% o2 c4 l0 W. X8 q
        }
" D! p0 H$ F. v- o( U! n* ]$ n6 g- R
; d& Z# y- u% j! g+#if 1) m1 C* \+ D1 C' m, I; j, f; D
+       /* The funcation with RS485 flow control */, Y; |% h( K2 T* m% B- O: d
+       if (up->port.private_data) {
: E* z. f+ |: h; n+               struct serial8250_flow_ctrl *flow_ctrl_p;- U; w9 h  y0 H, ?: ]) `# ]
+               flow_ctrl_p = up->port.private_data;
* @9 I' `2 M- Z- Z8 y2 y+ i  O7 L& C7 b+
+ E+ V! L. R8 i. c+ ~* {+               if (flow_ctrl_p->gpio) {
$ D2 J4 V) U1 O8 C. _: ]+                       gpio_set_value(flow_ctrl_p->gpio, 1);
5 h. K- ^3 o; k3 F: N; ~+                       ndelay(50); /* Propagation delay >= 50ns */* @0 l. j, a$ z! u1 N% {6 I
+               }) n8 q' ?( \3 M8 r3 {( o" ?
+       }
& x& s6 y% C: d7 B+#endif
) C# `9 f' O4 A' a+ T希望对您有帮助。* ?- j/ X  ]+ F1 E

作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊
" I, H& Q' {: _/ |# Z
2 n8 J% d& g. d9 l
作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。
* G) w! ?3 B# d. F
作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28: @, Z: _0 q* s8 |" |' H3 Y6 i* V
你说的serial8250_tx_chars函数没有你下面写的部分啊

- c0 z+ N5 z& m% k$ C0 |  q$ D在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码
: A' N9 s, k4 m/ M
作者: sddxzzf    时间: 2014-11-18 17:20
提示: 作者被禁止或删除 内容自动屏蔽




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