|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
: q/ F% @% z4 P; X( h4 _+ `$ k *** DaVinci Core Type *** | |2 A: u% D1 ^# \% L
| | [ ] DaVinci 644x based system | |
/ ~& [8 j$ g3 ?7 M | | [ ] DaVinci 355 based system | |
" q/ ?( U. f3 v; T+ o& d! b4 L | | [ ] DaVinci 646x based system | |0 p( B1 l+ h- Z4 B
| | [ ] DA830/OMAP-L137/AM17x based system | |
- K2 e) w& y( C; w | | [*] DA850/OMAP-L138/AM18x based system | |
8 W( E% \1 o; B1 p! a( y, [ | | [ ] Enable UART1 flow control | |
* t7 Q/ f5 R, a7 ?" ^# W | | [ ] Enable UART0 RS485 funcation | |
4 J9 S! R) D) v7 k7 C3 M. B | | [*] Enable UART1 RS485 funcation : R# a i2 q$ G% b* H4 @
2 m% l7 d2 ^" Z" @% E c; c
想了解详细的功能实现,也可以查看8250.c文件里面的;6 u3 `: |( O' n1 E0 ^' r
void serial8250_tx_chars(struct uart_8250_port *up)' W( V4 Q+ `' C
return;
\" p& ?0 [' @! _; q- K: ^3 r+ } }
! p# s0 E `3 r$ _6 [3 J4 s3 i& ^9 [) R& X5 i
+#if 1
: f: P0 y c4 B( d( A- \3 S5 X+ /* The funcation with RS485 flow control */
3 }7 h" V8 a5 Q8 k3 W! }+ if (up->port.private_data) {7 I7 w+ o* X5 o \, r$ [" O0 u
+ struct serial8250_flow_ctrl *flow_ctrl_p;
, D, ]6 G$ f0 p# G) f4 r3 z+ flow_ctrl_p = up->port.private_data;( l+ o- a- k8 S% {
+' f( J' b6 g! W* i; k/ g
+ if (flow_ctrl_p->gpio) {6 k# X9 m5 E% i! h
+ gpio_set_value(flow_ctrl_p->gpio, 1);
) b- e- o% P* a2 v$ u- R+ ndelay(50); /* Propagation delay >= 50ns */
I; _ F2 k7 m, g2 Q9 E+ }* u3 R0 B2 Q& ]# _ E0 Y
+ }
' h& k. ], v% m) i+#endif; S9 G7 T8 C: }: O3 E6 r C
希望对您有帮助。* l6 X& N! w6 l' c
|
|