|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
% r! `: _" c- {4 H. y. b *** DaVinci Core Type *** | |
/ z1 J" M: L1 {2 e8 y; G/ p | | [ ] DaVinci 644x based system | |$ O( O/ e6 U. `- ~$ i
| | [ ] DaVinci 355 based system | |
0 L: ^6 v7 r! _1 W4 b | | [ ] DaVinci 646x based system | |
* Y; k" Q- {$ B+ R+ s2 R+ @) w | | [ ] DA830/OMAP-L137/AM17x based system | |/ r$ F& _. W" ^( ^' j- e" w4 S
| | [*] DA850/OMAP-L138/AM18x based system | |
, W( [& ]; V9 j9 r | | [ ] Enable UART1 flow control | |
: @! Z# l: ]1 N5 t | | [ ] Enable UART0 RS485 funcation | |
- _6 X5 Z6 X- W0 E+ |- ] | | [*] Enable UART1 RS485 funcation
' v7 P) |5 H2 X& o) G6 T
. i( o6 G! g8 \6 b- B& T' l& i想了解详细的功能实现,也可以查看8250.c文件里面的;; p; E8 i4 G1 w! h2 L
void serial8250_tx_chars(struct uart_8250_port *up)
0 j8 ], W5 C! h( b6 q- q- x5 p0 i return;/ h& e7 c7 \7 n0 }( c
}
. N Y% M; T2 B; o9 i4 a; d& w7 {9 B+ S+ G7 K1 b5 @) R
+#if 1
3 o7 p2 ~6 A+ Q: O, U* r+ /* The funcation with RS485 flow control */9 f) L P" M B' w9 U
+ if (up->port.private_data) {
9 a9 h" c# h" i+ struct serial8250_flow_ctrl *flow_ctrl_p;
: u0 p1 a' N7 ]7 T! E# z+ flow_ctrl_p = up->port.private_data;6 P" k- D+ [2 f
+
E( ?6 X. p1 I( k4 t$ G+ if (flow_ctrl_p->gpio) {
) g O. f) |# Z5 V! n4 N8 w( A' W+ gpio_set_value(flow_ctrl_p->gpio, 1);
' {: I" R- X/ U4 V+ ndelay(50); /* Propagation delay >= 50ns */$ L! p6 q+ z: \, S F" z
+ }) I! A/ N6 \ g1 h5 k9 A
+ }
7 [) _; h- H7 [; G3 f; G+#endif
: S0 I5 q2 p% o; ?8 e- M) r, Y希望对您有帮助。
- F. w9 y% I, Y* U7 z* V3 a% b |
|