|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
' Q$ h% g( ] C9 x5 @! J g/ G) [ *** DaVinci Core Type *** | |/ c; e' i9 ]0 R# |! r4 v- ~
| | [ ] DaVinci 644x based system | |
+ u$ X. Q, K; W4 \0 x | | [ ] DaVinci 355 based system | |
% m: N7 ?3 _: _6 j6 t | | [ ] DaVinci 646x based system | | f, F7 S( X8 g* J9 \! B/ ]
| | [ ] DA830/OMAP-L137/AM17x based system | |" o: @8 c1 b) N9 t+ V$ R( Z
| | [*] DA850/OMAP-L138/AM18x based system | |5 N8 [; P% C" x' y
| | [ ] Enable UART1 flow control | |5 Z$ }2 Z R \( ]8 x$ i" g; B3 m/ L
| | [ ] Enable UART0 RS485 funcation | |8 ^8 Q$ p( n- Z. a
| | [*] Enable UART1 RS485 funcation
$ A) y( @( L# W% w* F
6 \/ K& K9 Z! u2 i( `8 O* J想了解详细的功能实现,也可以查看8250.c文件里面的;( \0 ]9 z" Y6 c, y$ W
void serial8250_tx_chars(struct uart_8250_port *up)7 g. C; i9 o8 A, ^
return;
0 {7 H }% R% ? }
3 K2 K& ?& U7 C( G( v& t" Q4 T2 d# _& U/ C
+#if 15 b6 @# I+ g& a3 C
+ /* The funcation with RS485 flow control */
/ h) O7 o: I3 O/ x+ if (up->port.private_data) {$ p# t! C, p$ m
+ struct serial8250_flow_ctrl *flow_ctrl_p;3 e) {3 a @! Y4 m2 T! Q8 T, h2 v
+ flow_ctrl_p = up->port.private_data;
5 c( f# ~! F; S: n8 P+ _+
, ~- S$ a6 m9 k q+ if (flow_ctrl_p->gpio) {
b! r! c; y4 R+ gpio_set_value(flow_ctrl_p->gpio, 1);" c% N2 _. ]2 V+ c" g
+ ndelay(50); /* Propagation delay >= 50ns */
5 r2 q5 E: h! p; Z+ w# t: j; ?. u( n# Z+ }( y; c/ F; }" T. L; M/ }! a
+ }
% l) r" p- w% ?3 q- Q/ y5 m0 u5 e+#endif
; L2 u% C/ D/ J; V3 Q: R( ~$ {希望对您有帮助。
# R8 H; n8 l7 B# [ |
|