|
|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
# E7 d5 ?/ x( b& p9 Z" @8 y4 d *** DaVinci Core Type *** | |' |6 J% I w; J7 C
| | [ ] DaVinci 644x based system | |- F9 U0 g' ?( v( `8 ~
| | [ ] DaVinci 355 based system | |- r" ]0 U; |: [
| | [ ] DaVinci 646x based system | |
J$ Z7 y1 d& C* ?. K | | [ ] DA830/OMAP-L137/AM17x based system | |
: d' x* Q1 z) W | | [*] DA850/OMAP-L138/AM18x based system | |- \* {, Y8 B0 q: ]' q
| | [ ] Enable UART1 flow control | |7 i3 K% I9 q/ u3 H& D
| | [ ] Enable UART0 RS485 funcation | |
$ h# G1 p4 q0 b0 d | | [*] Enable UART1 RS485 funcation
' ?, ~/ v9 Q# E/ I4 x8 T2 f! x3 d) |9 x0 t2 v8 R+ ^
想了解详细的功能实现,也可以查看8250.c文件里面的;
. A! A5 \+ ]3 Dvoid serial8250_tx_chars(struct uart_8250_port *up)
7 S% m! k( O7 d, J" Y return;
3 |* }+ { }4 W# Q% w }+ Y/ Q, i$ w. N1 C* V$ T
+ ~5 }" {; Q: t, F" w+ R) e
+#if 1
; P7 w2 }/ N" _+ /* The funcation with RS485 flow control */
% B. h0 Z, ^, k' \* w0 o+ if (up->port.private_data) {
( j. G9 b& u6 E5 o1 s+ struct serial8250_flow_ctrl *flow_ctrl_p;3 a" v' c7 T2 ^. E
+ flow_ctrl_p = up->port.private_data;, G& K/ F X% {! b4 L, O$ H
+& v1 W$ q' w( O4 ?3 l
+ if (flow_ctrl_p->gpio) {" Y' L8 Y8 W+ b& ~; R9 p9 |' @$ r
+ gpio_set_value(flow_ctrl_p->gpio, 1);
: L* I A; z5 F* }% @: g+ ndelay(50); /* Propagation delay >= 50ns */
5 _9 B* o- B6 v, f5 E' c. c+ }
3 ]3 ~$ u% U3 P: Y! N, t+ }& ~6 ]- \# e* z% O- W, R. |# W. o
+#endif
) X# q, W4 _; T6 j希望对您有帮助。- V7 a, t8 s# [8 v( L2 k/ E5 E
|
|