|
|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。- g1 D" t ? B& `7 \& B1 `8 @$ v$ \+ d& j
*** DaVinci Core Type *** | |: A+ g. L6 Q, T! C3 `
| | [ ] DaVinci 644x based system | |# I( ?( t' x( I8 S* s
| | [ ] DaVinci 355 based system | |
7 p( l# G* D) D6 c9 {" T) n | | [ ] DaVinci 646x based system | |
" C# b6 m3 g3 D1 H8 [% U | | [ ] DA830/OMAP-L137/AM17x based system | |% D. D8 q- P) Q' w9 Z
| | [*] DA850/OMAP-L138/AM18x based system | |
- n: Q/ j0 r9 f- y* O( H+ c5 o | | [ ] Enable UART1 flow control | |8 M6 d. @( ~8 V$ k7 M
| | [ ] Enable UART0 RS485 funcation | |
- [' {& B8 @- R2 ^. B# ?/ \ | | [*] Enable UART1 RS485 funcation 8 r6 C( I d: \* i
0 T' P# C% R) O: a2 d, W- L想了解详细的功能实现,也可以查看8250.c文件里面的;
! R( A2 I1 Q. ?4 Ovoid serial8250_tx_chars(struct uart_8250_port *up)+ j" O7 K" H; j" x: p( e8 l$ U
return;
+ Y3 r9 ~6 c9 r8 |4 @ }
% h1 F2 \* C5 y% p' ~# ]- e
1 d3 Q, s' i/ w2 s+#if 1; s8 _+ Q+ M: c" k( C+ V0 N
+ /* The funcation with RS485 flow control */
. e4 {5 |- X9 e7 f: A5 T. J2 g+ if (up->port.private_data) {
4 r- A# g* D/ h6 K3 q1 u+ struct serial8250_flow_ctrl *flow_ctrl_p;$ U P. ?1 I j9 h* K# Y; z2 P0 [& V
+ flow_ctrl_p = up->port.private_data;
7 i$ {4 c' V: X+ ]1 z% ?+7 c0 b! V! a2 u/ D0 E. A
+ if (flow_ctrl_p->gpio) {
/ G. f8 B# l5 d, {+ gpio_set_value(flow_ctrl_p->gpio, 1);. K! q: ] }5 ]/ }# D2 [
+ ndelay(50); /* Propagation delay >= 50ns */6 S9 a/ D' j$ |' ?* X
+ }/ Y. n% F% [* F2 d- F
+ }% N) p, u9 M- t! J
+#endif
# x3 O. G/ Z+ S4 L9 @4 g希望对您有帮助。
; a0 F# r5 u( k0 y. M1 {6 F |
|