嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑 " x1 m( g; G" _

; \+ f8 P" f" c$ q/ v" X我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,
8 y  I3 I/ P0 x) D& j
8 {# m; h' o( r3 s( ?7 Q! r6 q# Y" w* Y6 f2 d

作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。7 G/ e/ W% r5 B* c
  *** DaVinci Core Type ***                                                              | |1 O( Z4 H9 M* Q7 f
  | |                    [ ] DaVinci 644x based system                                                              | |
$ w/ E# X# e/ {: D; S  | |                    [ ] DaVinci 355 based system                                                               | |
; y, @2 }9 {( O" D  | |                    [ ] DaVinci 646x based system                                                              | |
: y7 ^4 w- v0 n. s8 T' N6 Z  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |2 v2 Y/ e6 M. C1 [# F, x; p, X  s9 N
  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |
+ ]7 G  C) X7 z1 K2 O; Q$ K) n0 A  | |                    [ ]   Enable UART1 flow control                                                            | |
, X- n$ O* b! r% {  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |8 b' a+ N( \6 f" h/ v3 i/ y7 N/ d
  | |                    [*]   Enable UART1 RS485 funcation
; M( L% v! D/ O/ E
/ u* y1 D: D+ v. m2 t2 v$ w5 `想了解详细的功能实现,也可以查看8250.c文件里面的;
" U3 J& `; h! p4 M1 j  S* Zvoid serial8250_tx_chars(struct uart_8250_port *up)$ z( a. Y8 m7 d  t" v9 X% Z
                return;
0 u' a7 c  y" _6 r+ T6 K$ |        }4 M  n3 p% A; O7 d

0 @: D1 p7 F/ y; k# R+#if 1
. O* _/ t) B" o& Z+       /* The funcation with RS485 flow control */9 g, A* S5 Y# X$ T% W- K
+       if (up->port.private_data) {
" n# A# }" J2 a1 |2 S% k$ K# l+               struct serial8250_flow_ctrl *flow_ctrl_p;
/ P- H; H: Z8 r6 S7 g$ c+               flow_ctrl_p = up->port.private_data;
8 f2 v5 U/ W: _2 Q) f. V/ f+8 W* @6 _. f, W5 V
+               if (flow_ctrl_p->gpio) {
  e7 N- x5 p+ j  J! n+                       gpio_set_value(flow_ctrl_p->gpio, 1);& T! U! C/ O7 d* ^. c
+                       ndelay(50); /* Propagation delay >= 50ns */
" L" z3 S5 }1 I; X; m  ]" [" u$ u+               }
4 a# A  f: u0 d3 m2 B8 t+       }
7 o" ~- v2 z% n+#endif" Y$ q4 e9 S) {
希望对您有帮助。
. O% \+ _! }9 a" `1 h. I! t
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊) `& W5 k. ?, ?* r$ m% q4 ^
0 E( ]: U( Y7 i" N* O" V$ H+ o0 T

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。
/ R7 W2 P" K7 M$ s% S: b4 }! _
作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28
; @- O) a. V9 A0 r4 q# V) h0 G( Y你说的serial8250_tx_chars函数没有你下面写的部分啊

  c6 F+ {2 v2 M在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码) i0 z( F; S& G8 V/ {7 w( j8 F

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




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