嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑
. k8 y5 r0 G- b7 p4 @( r; Y( X* ?: d/ I' l7 X& F7 j+ @0 Y0 \  y4 h
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,
& ?$ q, @6 j- t. ~$ {4 _' T% C1 d9 e8 y" b. {0 O- E: s) n: J' |" ^

: ]: ?* x5 _# J& i
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。1 r! d& t; c2 `# g" Q- l, {8 h
  *** DaVinci Core Type ***                                                              | |4 W0 t5 b7 q  m  [
  | |                    [ ] DaVinci 644x based system                                                              | |, h1 B  t) W7 g: C
  | |                    [ ] DaVinci 355 based system                                                               | |
& {/ V. ?) M0 n) e( f# u  | |                    [ ] DaVinci 646x based system                                                              | |
% z  S" Q! P" R% }" G) p% C  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |: G7 i8 u8 K5 k, Y. y: z
  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |9 w% U2 D2 m/ h0 B2 W! N
  | |                    [ ]   Enable UART1 flow control                                                            | |, c0 \( `0 N' o6 t0 |
  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |3 A& C0 J- y1 J/ w
  | |                    [*]   Enable UART1 RS485 funcation 5 J7 F* I5 y! t9 W3 H! b0 S

8 D( a, d  Y4 ^  j想了解详细的功能实现,也可以查看8250.c文件里面的;
( O# q5 W+ O& ]void serial8250_tx_chars(struct uart_8250_port *up)
3 \9 l$ e$ j/ y0 ^8 K; }3 P                return;/ a3 ]4 c& T3 G0 O3 d
        }9 C4 e5 @2 O8 W1 S% E

/ y" i: ?: e! ~2 v% m$ S& D+#if 1( X! ~" z6 W8 e$ R% [
+       /* The funcation with RS485 flow control */" }6 ]  f# N# p( H. |8 m0 R
+       if (up->port.private_data) {
' E; }; S6 T1 m+ V. g8 e6 L+               struct serial8250_flow_ctrl *flow_ctrl_p;5 I( V( _# _9 _) C
+               flow_ctrl_p = up->port.private_data;
' k$ k+ s0 {4 I" G+
8 l5 z& G6 K2 f( @; b- g8 F) m6 M+               if (flow_ctrl_p->gpio) {
; n, B5 Q! a( L+                       gpio_set_value(flow_ctrl_p->gpio, 1);
, b- Y; M; q+ G; [; f& O/ z7 ?+ B+                       ndelay(50); /* Propagation delay >= 50ns */1 P+ \* b, A6 x4 p+ d5 R
+               }
, ?% D2 y) ]6 ]+       }/ S: I1 F+ n- d6 v# C; f
+#endif
: a  i$ r  g- V: [, \希望对您有帮助。% s! |( b1 p* U. |0 M) l

作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊
0 Y1 S0 g; {% x* W' n0 R9 j4 z1 ]% J( Z5 u6 n9 r$ v# x

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。  s& K& V: r+ ]4 n/ l

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28  R" H% d9 r5 r+ h  S" J
你说的serial8250_tx_chars函数没有你下面写的部分啊
. ?# l2 B2 Q1 ]8 R( ^7 H- Q: {
在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码
/ O" E; ~- y; D( @$ g/ {2 j# M
作者: sddxzzf    时间: 2014-11-18 17:20
提示: 作者被禁止或删除 内容自动屏蔽




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