|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。4 o9 t1 P) V3 M9 @3 v# o5 K
*** DaVinci Core Type *** | |
3 ~1 _6 Y+ u& @0 t4 k- r) [ ` | | [ ] DaVinci 644x based system | |
1 R: z, i- I; x+ L' G, T | | [ ] DaVinci 355 based system | |- d0 R' B# l0 b# J" S
| | [ ] DaVinci 646x based system | |
2 c' Q! d" W& w+ l% e | | [ ] DA830/OMAP-L137/AM17x based system | |
$ R- Q2 l0 s6 O$ F! g% M* r+ \ | | [*] DA850/OMAP-L138/AM18x based system | |
9 K `$ O* H E | | [ ] Enable UART1 flow control | |
# D+ G* W5 M5 ]. I0 f2 T; a | | [ ] Enable UART0 RS485 funcation | |5 l5 o5 V: X3 m4 v! T7 r/ R3 C
| | [*] Enable UART1 RS485 funcation
9 [- v' d% o5 ^
7 a" z1 p* d" y想了解详细的功能实现,也可以查看8250.c文件里面的;
7 O& n k* S$ c: |void serial8250_tx_chars(struct uart_8250_port *up)* V, v8 k/ s. q4 c/ T' x
return;; [- d- ?$ U3 o: |% b' n0 N
}
& O4 d& k+ R9 i* y+ n l( j0 S7 W: S, ~4 v
+#if 1& ?+ V5 M$ M4 n( U/ A8 S
+ /* The funcation with RS485 flow control */
3 h5 `1 R5 t! U2 h+ if (up->port.private_data) {
1 O( V( n% o2 A# \, T+ struct serial8250_flow_ctrl *flow_ctrl_p;8 j; ~# y9 b% K( o: r
+ flow_ctrl_p = up->port.private_data;
! U: h8 B. s* n: a6 T+0 v! I$ Y0 R6 f$ V
+ if (flow_ctrl_p->gpio) {1 _; Z2 h, K( q, k7 q9 R
+ gpio_set_value(flow_ctrl_p->gpio, 1);; G0 ]* x8 N# h2 L% ]
+ ndelay(50); /* Propagation delay >= 50ns */0 t Y; b6 s* J# @! K1 N& s; C
+ }
. J0 v `" e1 @% d% }6 W0 }+ }' b4 \2 F# t, A1 X9 s- B% ?8 G
+#endif
( t2 _0 J, e5 G, D4 Q希望对您有帮助。
1 n4 {7 S- C. D6 d2 [ |
|