嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑 9 S. e) s6 |- \: V+ s! ~+ s

/ Q" [& y7 W2 z3 m/ S我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,
: S/ v9 s6 U: c; ?( z& A. [: J9 a8 V" E

3 t' R, L2 j# M( p6 X
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。8 d; W( \9 }0 a$ X
  *** DaVinci Core Type ***                                                              | |
6 W( v  S! |$ W/ s7 y9 F! Y% C  | |                    [ ] DaVinci 644x based system                                                              | |" L# |' D# g7 w
  | |                    [ ] DaVinci 355 based system                                                               | |  q& e. r4 g/ f- f- X' c" c
  | |                    [ ] DaVinci 646x based system                                                              | |# p8 W  Q; Y; a' X" Q# t
  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
) t, }! w* H8 h5 e6 S  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |
3 b. Y* ?" V$ e+ v5 |) p( A  | |                    [ ]   Enable UART1 flow control                                                            | |: I4 b- O& {' W2 L7 }
  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |
" N2 P4 Q% ?6 r% c; G: W3 q, [) F  o  | |                    [*]   Enable UART1 RS485 funcation - M7 t2 o; R9 t- e8 o0 P0 a" O' E
5 ]! h% d/ u# g( ]$ x; b
想了解详细的功能实现,也可以查看8250.c文件里面的;8 H& K/ C* x+ M% [% b
void serial8250_tx_chars(struct uart_8250_port *up)
3 |& C" U: ^$ X2 w: K$ s. k                return;
9 z$ O! E) Z! D6 r! a! e        }4 e4 e/ k. d# e; \4 q( D
" s8 B) k6 B0 `6 s
+#if 1/ ^. N: z/ ]. l' g5 b3 g+ e
+       /* The funcation with RS485 flow control */
" i3 j$ }4 g% [) r4 K+       if (up->port.private_data) {# |* t  w- P9 q" M
+               struct serial8250_flow_ctrl *flow_ctrl_p;
  o5 P; k; r7 M* z+               flow_ctrl_p = up->port.private_data;; Y2 D! z/ T$ x' A+ C8 `$ k
+# ?$ Z3 o. V3 t. |
+               if (flow_ctrl_p->gpio) {
3 z5 i7 m7 l0 x0 L2 {* a+                       gpio_set_value(flow_ctrl_p->gpio, 1);
  P7 p% x8 z/ m- a+ T6 f+                       ndelay(50); /* Propagation delay >= 50ns */
( n; i$ k7 x% T6 J# j$ Z4 y+               }
3 @( i, B, p3 K! r; t! x4 \/ @+       }
( _! \( P5 \- X' P/ \( R# T: K- e1 {+#endif
* m2 A1 K$ _# P1 X2 j; n: b. e希望对您有帮助。
6 G7 A% B; \3 \3 n1 Q
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊0 v: j0 y" B+ S. L
" r: B9 X/ X' ~4 H. j

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。
, L  \! F9 F( _  X8 Y+ q
作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28) ^, `5 D) J3 O. h
你说的serial8250_tx_chars函数没有你下面写的部分啊
- f+ N4 {/ A: Z4 Z
在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码8 O8 s% Z& m0 e9 J

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




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