|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
* o1 P, f6 c3 N# Q0 p' h: ` *** DaVinci Core Type *** | |5 C" H1 Y/ p3 X; B" V/ D! z
| | [ ] DaVinci 644x based system | |% E- L7 d# t; z( U
| | [ ] DaVinci 355 based system | |1 Z& t+ s# {1 B, a! Y6 M; b
| | [ ] DaVinci 646x based system | |4 Y0 A ]: T4 k3 B+ ^, A
| | [ ] DA830/OMAP-L137/AM17x based system | |
4 s* y( Z: L5 Z/ ]" j | | [*] DA850/OMAP-L138/AM18x based system | |" B8 f# W4 r D9 p4 X0 ?
| | [ ] Enable UART1 flow control | |2 I" `" x4 _/ j, H3 ^7 B1 H+ Y
| | [ ] Enable UART0 RS485 funcation | |% Q/ @3 v! M. M% H+ x7 N% ]
| | [*] Enable UART1 RS485 funcation
# L$ I- Q3 l, @- k
~9 ^4 V6 @% M7 T$ D" A& ~0 K想了解详细的功能实现,也可以查看8250.c文件里面的;$ R- a: m: u b8 F2 r2 K: n
void serial8250_tx_chars(struct uart_8250_port *up)6 n, U! G: H, a' T n# {' L
return;
7 ]/ ~' L5 Y" J" N' a9 U }. R, }! N* }& n' K
3 U) N! R* m* o' s2 T/ k' ^
+#if 11 E+ P8 P4 X, {+ G
+ /* The funcation with RS485 flow control */
m7 B& n+ O) b% x( B3 P+ if (up->port.private_data) {
# ~0 Y. W0 s& b+ struct serial8250_flow_ctrl *flow_ctrl_p;( Q0 }7 F, P, f3 ^8 t1 W
+ flow_ctrl_p = up->port.private_data;
2 F: g" V& ?8 N6 G" `( @+1 m( g$ L$ p( l- f* |
+ if (flow_ctrl_p->gpio) {
. u8 m, }+ O3 `' F/ S+ gpio_set_value(flow_ctrl_p->gpio, 1);
/ k- z, ]+ }, I1 d6 N+ ndelay(50); /* Propagation delay >= 50ns */2 Y9 w0 |0 t* j3 B( [$ P
+ }" b; B# f0 U/ h2 }/ _* A* p# K
+ }
3 s: m- m2 M8 K8 s D+#endif
! v1 R. z! @' X0 i0 {, u希望对您有帮助。
' r& i; `* R& n+ C( y- R' |9 h) j# [ |
|