嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑 7 M5 b0 M$ H0 O/ i2 _# K. Z

+ l3 J' g6 g5 d我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,
+ D( G: p3 B" P0 `
5 m( o' m& ?9 e: ?6 e: O6 U& l# }) [6 k, b3 J5 ]& U

作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
, D, {4 C4 \. }. A  *** DaVinci Core Type ***                                                              | |
1 R+ L5 A) g0 T# P5 N8 j2 R: Q  | |                    [ ] DaVinci 644x based system                                                              | |. I/ {. B( J, x3 X! b
  | |                    [ ] DaVinci 355 based system                                                               | |; G- q9 o& d5 G" b" E% W
  | |                    [ ] DaVinci 646x based system                                                              | |7 D' D: u5 l9 ~  ?( O9 C
  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
; a0 t* Y- k0 K% L  ]' k  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |- S2 }3 P' D: U+ H# y: k4 w8 H+ F
  | |                    [ ]   Enable UART1 flow control                                                            | |
( e+ m; S; `/ j/ {: E8 d/ l$ ?  M2 R  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |7 T) S& b. @. o  m2 G6 I. L3 Z
  | |                    [*]   Enable UART1 RS485 funcation
6 F. Z; [8 Z( V9 u! b& c; H: O+ u8 q6 z9 v) v+ [4 [( F, v& R) Z& J
想了解详细的功能实现,也可以查看8250.c文件里面的;( A! ~7 g. z% N+ h& x
void serial8250_tx_chars(struct uart_8250_port *up), \; o# W- u9 o, C
                return;4 K/ @- z$ X6 s* F# N4 M9 R: n
        }
% j5 w) J) {+ N0 Y0 I2 f# o5 V( k: `0 K" }. Y! r! K
+#if 1% o0 ]4 m) g; w* Q/ C' e5 ?
+       /* The funcation with RS485 flow control */
3 S/ P' ?' B# t+       if (up->port.private_data) {
3 o5 |3 j8 s8 L! h. Z8 {) _+               struct serial8250_flow_ctrl *flow_ctrl_p;
/ q" d1 l- O' _0 s3 p+               flow_ctrl_p = up->port.private_data;
8 j/ ^2 x0 _8 K, j- ~4 t9 Q+
& i: g/ Z9 x. f& x$ F+               if (flow_ctrl_p->gpio) {& F3 Y; S1 P4 P1 f
+                       gpio_set_value(flow_ctrl_p->gpio, 1);
& Q7 X( A* q) ^) x( L+                       ndelay(50); /* Propagation delay >= 50ns */
  ^! \+ F  O0 p( x+               }
# p% u3 E; }( i4 \6 d+       }
8 W) I+ P0 Y( H) ?& a. a# ?0 t+#endif/ [  Q* G$ Z. V2 \
希望对您有帮助。
9 M; W' E, Y& Z# c
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊
; w( A4 U/ v6 a5 O0 l4 V5 l5 e7 O: H

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。
1 @/ y) B) r. M& p. c
作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28" e, l4 d  c0 Q: ]: U/ C
你说的serial8250_tx_chars函数没有你下面写的部分啊

: B- z- @4 I- U' h在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码
  j0 P2 D* [9 ~) V
作者: sddxzzf    时间: 2014-11-18 17:20
提示: 作者被禁止或删除 内容自动屏蔽




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