|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。$ H# p8 x \1 r* O5 p D% l
*** DaVinci Core Type *** | |0 E& q1 e; C/ ^& j& N- e0 l+ p
| | [ ] DaVinci 644x based system | |
, Q% D' T8 p( t; U2 J" F | | [ ] DaVinci 355 based system | |( |8 x( F/ T6 Y; L1 K
| | [ ] DaVinci 646x based system | |' s. m$ t L7 t: c# H$ e
| | [ ] DA830/OMAP-L137/AM17x based system | |
: G C6 T/ p P | | [*] DA850/OMAP-L138/AM18x based system | |
. R' `8 Z4 n: z) F. H | | [ ] Enable UART1 flow control | |2 {9 A8 T- T$ w
| | [ ] Enable UART0 RS485 funcation | |# }1 u2 ~4 P+ Y7 i* S# Q
| | [*] Enable UART1 RS485 funcation z; {: G8 B. F( V, \6 P- m+ V
. V/ i: W' r! H Y
想了解详细的功能实现,也可以查看8250.c文件里面的;
7 O- q: G; K- l* @+ d# E# c6 Zvoid serial8250_tx_chars(struct uart_8250_port *up)
+ x0 g. o! P/ N1 n: J* q. v0 o return;, {, y; {( m. @" T* K4 M8 p4 E
}
5 C0 q# {6 E* Y) T
0 v" O0 @5 h& _) Z! ^9 _+#if 1
" s) H5 P! y/ D3 D% o3 C+ /* The funcation with RS485 flow control */
/ b$ b( W, v6 o9 F- r) T0 s, \+ if (up->port.private_data) {
0 f; Q3 B. t, c+ struct serial8250_flow_ctrl *flow_ctrl_p;
" H& Y9 i8 H0 Q9 O4 W+ flow_ctrl_p = up->port.private_data;0 Y$ m- p8 U0 G0 g b
+7 c/ h1 p& m6 }* J! h) b. N1 N' M- m
+ if (flow_ctrl_p->gpio) {' C& N% l& r( h- Z
+ gpio_set_value(flow_ctrl_p->gpio, 1);
; {! z0 W8 _: w* V* R+ ndelay(50); /* Propagation delay >= 50ns */
# B/ Y% \2 ^" F) W+ }2 b1 F3 t7 R: S8 w& H. k
+ }
1 J/ O9 X8 V! Y' R, m+#endif/ ?* _ [7 B" o" |: N6 V; k' L
希望对您有帮助。5 u$ U) u/ m' a' L
|
|