嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑 5 j. f+ g3 P8 N  o0 \8 U
- L8 }  z/ Z  A* u$ s2 O6 x
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,
& _% U7 P+ ~  b: E1 v3 ?( m- i. D! C0 |

9 ], k4 l" I2 i" s+ @: c
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。$ U" b7 F: A& }' _3 m8 {8 A
  *** DaVinci Core Type ***                                                              | |
0 d5 `( i5 k% h1 k4 O- I  | |                    [ ] DaVinci 644x based system                                                              | |
( o2 @& i, U" g( i' T  d8 R6 \( \  | |                    [ ] DaVinci 355 based system                                                               | |# K7 I" V" |4 ?) `3 ?; g* N
  | |                    [ ] DaVinci 646x based system                                                              | |
4 x3 e, i2 g- {+ C  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |6 }4 o+ r7 ]- i: Y
  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |2 P3 ^: c3 E( d  G
  | |                    [ ]   Enable UART1 flow control                                                            | |
# P/ ?) f. R7 d, [  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |
5 ?+ P& C& z" o* @& ?  | |                    [*]   Enable UART1 RS485 funcation
9 h& f+ W6 U; j& J( a3 t- b) y. i, @" i9 ?1 Q, ^
想了解详细的功能实现,也可以查看8250.c文件里面的;
+ }5 V; H6 w( y$ ^void serial8250_tx_chars(struct uart_8250_port *up)
( O/ _4 N  U1 L: s' W. K  u' o1 j* k" P                return;
# Z+ q  X" h6 u        }* h. N9 U* t0 j7 \0 U( K

% O. W% d3 J' G1 {! y, y+#if 1$ N( C8 Z+ h1 y  E0 n5 h3 h
+       /* The funcation with RS485 flow control */% y' ?7 m1 O' t9 F3 l
+       if (up->port.private_data) {
1 v! z! w  @, g. S+               struct serial8250_flow_ctrl *flow_ctrl_p;% r: y9 `: q' a; @3 k8 N4 G3 M
+               flow_ctrl_p = up->port.private_data;3 v+ x2 {- b) H0 D8 G
+
* ?8 T+ ~4 e4 p' W8 O9 M! D+               if (flow_ctrl_p->gpio) {
+ J# Q8 e& g  o/ ?# M+ s7 m+                       gpio_set_value(flow_ctrl_p->gpio, 1);6 H; d! `4 l* C8 [
+                       ndelay(50); /* Propagation delay >= 50ns */) q% Q; s' j5 L! h8 i  |- F- m
+               }
% l# s$ r, \) q  N+       }3 d) T7 |7 J5 [: B6 k
+#endif  ~' c3 @, O7 J! i  _  p4 X
希望对您有帮助。
' I# {5 E+ q% R7 ~8 S
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊6 ?4 c% Y: E. z' }
# |2 g: u! R, L# s

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。& l0 g$ Y' K5 V" N' M1 L' u

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28
! b+ P+ P, |4 L- Q0 l, }你说的serial8250_tx_chars函数没有你下面写的部分啊

4 S! s' W; k: `2 X4 h在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码) S) o; d! y; U: G. \

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




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