|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
/ r$ k0 |. _) E" K! X( j$ }/ o *** DaVinci Core Type *** | |0 r4 N5 Q5 A. S. h7 A5 u
| | [ ] DaVinci 644x based system | |* G: s( |6 U9 M# D1 }( R# {: H
| | [ ] DaVinci 355 based system | |
* J$ Q5 o. \7 ^4 H | | [ ] DaVinci 646x based system | |1 v0 X; E& ~7 P' R% h0 \& n
| | [ ] DA830/OMAP-L137/AM17x based system | |
* r5 d. N5 ^: |1 v; C4 X/ W: q& b | | [*] DA850/OMAP-L138/AM18x based system | |
8 j* p5 G! d ^) I$ n, H, Q | | [ ] Enable UART1 flow control | |
, U. e: m* k- D | | [ ] Enable UART0 RS485 funcation | |
: y0 a" j' k" p5 w | | [*] Enable UART1 RS485 funcation
/ M1 U. T( T7 R9 P% w5 {$ j
B% B0 Q' B$ x/ h, z想了解详细的功能实现,也可以查看8250.c文件里面的;
: c q, y9 `! x% h0 jvoid serial8250_tx_chars(struct uart_8250_port *up)
& H" X4 S: ~$ m6 c; o return;
2 \4 q, S2 v) b }6 W4 {% G2 z" R# q' Z
% h( _( L3 E4 m
+#if 14 M) A# a2 J8 x- @
+ /* The funcation with RS485 flow control */3 d4 m6 _; Z) V1 W* B
+ if (up->port.private_data) {
/ X% n- O$ t# P+ struct serial8250_flow_ctrl *flow_ctrl_p;
/ |- j. i5 \7 w! B" u+ flow_ctrl_p = up->port.private_data;
% F7 ]# L* k/ N9 @( k9 Z. X+
/ m6 I, H' C+ f a+ if (flow_ctrl_p->gpio) {# {" Q( C6 V% H9 U, {
+ gpio_set_value(flow_ctrl_p->gpio, 1);1 f- S" y7 ?1 c3 s
+ ndelay(50); /* Propagation delay >= 50ns */5 z4 h& t( W0 H# y H/ F; ?
+ }
9 D h# U3 f+ j) X5 E* E: z+ }3 m( e* A# `% g) J" E
+#endif$ F1 N" i. Q: R, S) c' Q; `
希望对您有帮助。9 g- L. s- E2 T1 M8 o5 k
|
|