嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑
9 p" h" b: |1 R. v( q) Y+ m7 c. U0 j. q9 n
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,
9 [5 |7 i* _- Y9 n+ P9 q. Q3 f* g. o6 o4 L- x

' G; G6 O4 L8 ?8 G. g8 m
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。4 K4 V, {3 _6 h' t
  *** DaVinci Core Type ***                                                              | |* w/ g( H' g0 y& l! D: l
  | |                    [ ] DaVinci 644x based system                                                              | |$ ?3 w1 P* t8 b# k% a' I
  | |                    [ ] DaVinci 355 based system                                                               | |
3 e, {  ~, o7 K$ j- i; A+ x' g  | |                    [ ] DaVinci 646x based system                                                              | |. i! K8 b% E* i+ G
  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
$ I7 `( k, A: g: h3 A! H8 U; ]  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |
4 k1 \  }$ }/ S  ~3 H- ?2 r  | |                    [ ]   Enable UART1 flow control                                                            | |. x, r. o3 o) w  V
  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |: v1 u! `; D' O7 \
  | |                    [*]   Enable UART1 RS485 funcation 6 \. C2 K2 {" L5 A6 T# \3 W
7 U3 R! {( G& M3 P6 c
想了解详细的功能实现,也可以查看8250.c文件里面的;
; k0 Y& T* p( K# P' U+ C; Pvoid serial8250_tx_chars(struct uart_8250_port *up)3 B) [2 J( `: H$ B6 ?
                return;
7 S( h& J% b3 I) w  c2 C0 v& Q% a/ x" Q        }1 d! V  [* H8 n0 ~

2 z( u. m3 c" _+#if 1& O! W) l$ b* S- N0 K1 D3 p
+       /* The funcation with RS485 flow control */6 f2 b; ?  v& x' e" q1 }
+       if (up->port.private_data) {
! K/ q! C/ R8 |' q1 ^9 S+               struct serial8250_flow_ctrl *flow_ctrl_p;
) N0 y9 @# x5 U) c: y9 N+               flow_ctrl_p = up->port.private_data;% j- Q( c: D: Y. g6 I4 |% h; n
+
4 b4 E1 p9 R% t% j5 g1 v7 Q8 i+               if (flow_ctrl_p->gpio) {
( A. [. ^- ]% N( k+                       gpio_set_value(flow_ctrl_p->gpio, 1);
4 {# R! R& N4 g/ H+                       ndelay(50); /* Propagation delay >= 50ns */
( I# [( E- g0 r( e+               }% Q* c; P: r& M* A( F
+       }) r$ P4 b5 Y0 r: g8 M2 \
+#endif+ F! f; O* x& P( O9 _3 W3 ?
希望对您有帮助。
0 E# c7 r( S  K3 w
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊; k, g9 X; A: S/ U$ b
  D& p! X$ Q% W, W

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。6 r+ g! x+ o6 B7 |# |  j1 \- h9 D

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28
- t2 s8 y1 f5 s7 {, b1 m6 k( d你说的serial8250_tx_chars函数没有你下面写的部分啊

& ]5 g* E; Y% E- K1 C2 b在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码
- u1 m. C* W. m8 ^+ l" m& e- a
作者: sddxzzf    时间: 2014-11-18 17:20
提示: 作者被禁止或删除 内容自动屏蔽




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