|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
* ^' P( I9 S6 [$ [+ H4 r1 T% q *** DaVinci Core Type *** | |
7 k$ X0 N$ J8 W* H$ a9 s4 C/ W | | [ ] DaVinci 644x based system | |& }# o: _2 w9 Y
| | [ ] DaVinci 355 based system | |
$ M, S2 I9 m5 J! f4 A) m | | [ ] DaVinci 646x based system | |
& s c9 ]6 i% d. U; G' m | | [ ] DA830/OMAP-L137/AM17x based system | |
- {8 a% G1 n/ Y7 C% |5 T | | [*] DA850/OMAP-L138/AM18x based system | |" K! v9 d& j* H$ Y( B4 k) b5 O
| | [ ] Enable UART1 flow control | |- P- U, Z4 [6 I+ ?- ~
| | [ ] Enable UART0 RS485 funcation | |
* v5 U. X+ n z | | [*] Enable UART1 RS485 funcation 5 g! k% Y& D+ ]( O3 @* o
5 E; \0 ~/ c5 ^3 O$ e& O" o$ m
想了解详细的功能实现,也可以查看8250.c文件里面的;
# b' w3 C. W" m/ I7 Y6 {! ovoid serial8250_tx_chars(struct uart_8250_port *up)) n5 \, `) o; n/ V
return;
/ ]7 L. z/ d) M/ J2 ?! J }
0 t) p' P( I' X. k. D6 N
! V! w: }) {1 v* ~ h+#if 18 ~8 ?8 b# h/ Y# [
+ /* The funcation with RS485 flow control */
: |! F+ g: H' T! R% a+ if (up->port.private_data) {
# Y3 i' [' w& U2 [# v+ struct serial8250_flow_ctrl *flow_ctrl_p;
3 ~. T& T3 q6 P& Z+ flow_ctrl_p = up->port.private_data;
i* T' U$ U( u% K+
+ ^# w6 P0 E+ t8 Y4 o+ if (flow_ctrl_p->gpio) {8 t7 k+ v3 ^8 I' H/ f% l
+ gpio_set_value(flow_ctrl_p->gpio, 1);' ^5 f2 O0 v& f( b% }2 e; `
+ ndelay(50); /* Propagation delay >= 50ns */
* A- v2 J. Z0 o6 ]) e ~* z# M+ }
/ V C, Q* | Q, Y; P8 Q$ h+ }
. J3 T! r0 q8 F+#endif) u3 L2 c; k$ h* v! U
希望对您有帮助。* s9 ], ~+ f0 Y1 o" n9 I
|
|