嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑 % b! w0 n+ Q+ w

! c" o' z5 z4 ?我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,
& ?5 S! Z3 _1 q; p7 q+ O- M$ e& ?( ~+ t: r

5 ~% z+ I+ c: f) `$ H7 m
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
' ~- }" d# i- y1 c3 R  *** DaVinci Core Type ***                                                              | |# r9 z: l3 y; I: L
  | |                    [ ] DaVinci 644x based system                                                              | |
9 k4 P( _" |* W+ \- M$ p# M5 b  | |                    [ ] DaVinci 355 based system                                                               | |  A) t; |( j2 |) `( L5 v
  | |                    [ ] DaVinci 646x based system                                                              | |
- D- G3 c; j( u6 O. `  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
% ~6 H5 |; z: \: }4 D* F  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |
6 T% f5 E' a2 |2 m5 J, b  | |                    [ ]   Enable UART1 flow control                                                            | |
; C  f' q" Q- l  O7 g  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |9 @" C; J% n* y
  | |                    [*]   Enable UART1 RS485 funcation
( d9 \* S! t' I+ q- n8 D# l% C5 ~( r/ Z% L
想了解详细的功能实现,也可以查看8250.c文件里面的;+ ~' t- b8 p, S  b
void serial8250_tx_chars(struct uart_8250_port *up)
( D/ J4 O1 |$ e& \, ?% W                return;
9 }, c6 C  S8 T, d& j: ~) O        }
; j" a9 l/ M* H7 ]: \) C$ h9 X1 P
1 ~+ H  {+ y+ u! A+#if 1
1 f0 D9 s* H2 D5 R$ f* Y3 N4 a" K+       /* The funcation with RS485 flow control */
$ Y) i/ [5 `! A7 S" f+       if (up->port.private_data) {
, c* f/ ]3 G% R0 C4 Y+               struct serial8250_flow_ctrl *flow_ctrl_p;' s/ a5 e; j1 r' X4 q3 c
+               flow_ctrl_p = up->port.private_data;9 E! y5 k0 A9 w0 S
+8 E( w9 y, N/ z
+               if (flow_ctrl_p->gpio) {
, @) {& N; p; B5 L1 ~+                       gpio_set_value(flow_ctrl_p->gpio, 1);. ^1 y8 P" f" h& F  o& Q
+                       ndelay(50); /* Propagation delay >= 50ns */" R1 U  Y5 \9 h1 k- [( G3 h( n
+               }, ~* @0 P1 ~8 _
+       }
$ ^& M  t6 ]2 z- ^2 r% q: o+#endif
9 u* g8 F# d- M2 ^8 a希望对您有帮助。
1 u6 {  `0 V. k, w4 y  u
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊# ^, J( s9 z' T

: x( J1 c1 H4 y0 X
作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。
9 d& a& _( \3 s
作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28
, c* E1 h& `+ K# q: k7 l你说的serial8250_tx_chars函数没有你下面写的部分啊

. D0 ^# G1 j* x! ?) i4 V在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码6 Y. y9 D- t7 \+ y& ?" e/ N9 f

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




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