|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
; r2 d! `3 o# G; n *** DaVinci Core Type *** | |
* Y1 m2 E/ R# @' K* I7 ~% M | | [ ] DaVinci 644x based system | |7 h) `) |6 E9 b$ o
| | [ ] DaVinci 355 based system | |, N0 Q& n8 Y( h% l8 |' n; g
| | [ ] DaVinci 646x based system | |) \& W) c/ L; k, c* @% I
| | [ ] DA830/OMAP-L137/AM17x based system | |" D: g# b8 T3 x; ~+ a
| | [*] DA850/OMAP-L138/AM18x based system | | @2 F0 w2 ?4 h
| | [ ] Enable UART1 flow control | |' t0 M3 I r$ f y1 L2 v3 y
| | [ ] Enable UART0 RS485 funcation | |
( K; k) C# X7 {. G | | [*] Enable UART1 RS485 funcation
9 ?4 A# t* T9 O6 t3 x
; Q0 ?" f7 {7 H' ~想了解详细的功能实现,也可以查看8250.c文件里面的;$ Q0 Z8 W7 M( c- g X
void serial8250_tx_chars(struct uart_8250_port *up); J3 a) a, r+ X. a3 U
return;) [# h1 c4 T. |$ [4 j* e
}
% o8 F( |3 Q/ C" u* t" J) ?
( Q* c6 T3 n" F! h" ?) F6 e) h+#if 1" J0 G! O6 D! s+ R
+ /* The funcation with RS485 flow control */
$ c B2 A f: E' b6 R. L+ if (up->port.private_data) {& I& {6 W! W& I8 @
+ struct serial8250_flow_ctrl *flow_ctrl_p;
8 T/ j; b. t1 I* k+ flow_ctrl_p = up->port.private_data;
3 v" t" T( g) X8 W& ?+: P! b! i2 G% n# C3 U
+ if (flow_ctrl_p->gpio) {
: j- } W! K/ n1 F+ gpio_set_value(flow_ctrl_p->gpio, 1);7 w' P6 A& V6 @% G/ @( \+ s
+ ndelay(50); /* Propagation delay >= 50ns */! U3 M/ k: ^6 ^- l1 c
+ }
# t4 v0 v$ F3 f6 y+ s2 r3 D+ }, `3 e; l5 ?/ S
+#endif& B: N B) I3 I
希望对您有帮助。
: S/ V. r5 U/ k2 g5 X7 `) S |
|