嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑 9 X6 m+ _8 B) O6 T: a- T

2 a. }/ I" a# e: z0 q: m9 `- m我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,# }! |8 J4 k4 r) J6 Z) F

& h0 ^" U& c0 T
* l- R8 _$ ~2 {, S* b
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。! d6 O* t/ ?1 o
  *** DaVinci Core Type ***                                                              | |
0 c, R) J1 O" z3 P$ ?. ?# x  | |                    [ ] DaVinci 644x based system                                                              | |
& `/ z1 C& `, `# @  | |                    [ ] DaVinci 355 based system                                                               | |
* e9 S! i5 `; W5 M7 I- H  | |                    [ ] DaVinci 646x based system                                                              | |6 p' k' q  V# ^0 D3 o
  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
2 h9 q9 i* i) n5 ~  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |
" F# @, o+ A4 p. }1 l5 I% o: I  | |                    [ ]   Enable UART1 flow control                                                            | |9 J5 S. f0 b' U
  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |
8 s. [6 k# `7 C2 @  | |                    [*]   Enable UART1 RS485 funcation # Y& d4 r; R9 ~0 C0 Z3 p
$ B& H+ t  @- ?. J# z4 X
想了解详细的功能实现,也可以查看8250.c文件里面的;6 R5 _6 N6 D3 z$ T  \
void serial8250_tx_chars(struct uart_8250_port *up)
  r* J. [" [4 R1 A0 T% |5 |; p# Z                return;
0 k0 g; h8 w4 r2 b0 X. ~6 P6 \        }
4 t: J6 W& v8 y7 F% v$ G! j. @! m+ L) P+ V* W  \6 K6 l! K  E4 c
+#if 12 `7 x3 O; T& i& ^# F! X! C' s
+       /* The funcation with RS485 flow control */9 q# q4 ?! _5 y
+       if (up->port.private_data) {
" i/ P2 K% u5 ]+               struct serial8250_flow_ctrl *flow_ctrl_p;
- `7 i- n) f$ W2 b5 r. C+               flow_ctrl_p = up->port.private_data;5 C$ H2 ?5 K+ l8 I& ?1 c
+. E7 e7 G4 h  d5 ~0 s; [( g$ L
+               if (flow_ctrl_p->gpio) {
4 @; B: p9 u8 u+ L! _7 _6 Z1 e+                       gpio_set_value(flow_ctrl_p->gpio, 1);! S$ F9 \' @- b. j
+                       ndelay(50); /* Propagation delay >= 50ns */6 [* V5 ^; M0 g0 O: W) J6 H
+               }7 e8 {6 W, i0 E& M# G& j4 j0 }# x* I
+       }
. _$ M8 A1 k4 d+#endif/ Z: @) [0 g3 R$ U' `
希望对您有帮助。. p# C1 }+ y. l+ x

作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊" s1 ~0 U- ?. e) |# N. S) ^
! z7 w: `) `- R4 Z  b2 U

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。$ O* i: v: c/ {, |; v

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28
3 N6 B( k; E% m& ]- ~7 ^你说的serial8250_tx_chars函数没有你下面写的部分啊

# Y8 I6 C  v4 B0 Z, F* Z在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码
/ Y7 i: J. P, K4 d; g& X2 ~
作者: sddxzzf    时间: 2014-11-18 17:20
提示: 作者被禁止或删除 内容自动屏蔽




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