|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。# a0 j3 L% U5 j1 y* W) x- r3 L* K
*** DaVinci Core Type *** | |
# o: L- R2 H4 N% S | | [ ] DaVinci 644x based system | |% U% L3 B/ U, Z
| | [ ] DaVinci 355 based system | |
3 p5 T9 Z7 b2 x6 S | | [ ] DaVinci 646x based system | |: T2 M! c/ r( M5 H# p( V3 H
| | [ ] DA830/OMAP-L137/AM17x based system | |8 |% V" P3 B6 q; E
| | [*] DA850/OMAP-L138/AM18x based system | |' z( `0 g# t& | X7 r9 Z! t
| | [ ] Enable UART1 flow control | |- v. R9 _1 `+ |* [
| | [ ] Enable UART0 RS485 funcation | |# k# V$ Y) N2 _
| | [*] Enable UART1 RS485 funcation
( N% B. z- {; X& t" B0 O" ]6 p6 ?' z7 X* `' w4 L% R5 f
想了解详细的功能实现,也可以查看8250.c文件里面的;( w/ P! D. l0 D6 ?: ]
void serial8250_tx_chars(struct uart_8250_port *up)
# Q5 c, S! x& d4 A( x3 T return;
[& e9 q: g; D9 D }
+ \ r, p& N0 s7 g1 @
* U1 v; E& ]( A9 E+#if 1
. M7 U' k- i( R( T4 x+ /* The funcation with RS485 flow control */
1 J% O! x1 R/ M3 P7 f0 ^+ if (up->port.private_data) {
* O" c, r* x" ^% }( x+ struct serial8250_flow_ctrl *flow_ctrl_p;
) k9 q. \5 V5 ~8 c1 ]6 N4 d! L" {4 l+ flow_ctrl_p = up->port.private_data;
0 @. M0 X' M; `+, x/ H0 _ p) d- N7 H7 S; y, V
+ if (flow_ctrl_p->gpio) { c7 m3 X4 D- T& U3 V8 i
+ gpio_set_value(flow_ctrl_p->gpio, 1);
' r1 s& b$ o( [( z0 x9 l: K3 q2 K: J6 j+ ndelay(50); /* Propagation delay >= 50ns */
# f1 r' V8 j7 J0 i3 u+ }5 S9 [4 {1 M: j& T
+ }
+ k$ F$ G! _5 Q1 O' g+#endif
; f I0 W# }) W' R2 ^7 A6 \/ O' `希望对您有帮助。
8 ~9 ~" f" H0 g1 y4 t |
|