|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。9 s- s1 X$ Z8 I6 q- y
*** DaVinci Core Type *** | |
W8 j6 [6 k6 p# f | | [ ] DaVinci 644x based system | |
. Z# U1 n9 e$ V9 [. F | | [ ] DaVinci 355 based system | |0 h1 l2 J. Z2 n5 ]9 e9 C* L% k
| | [ ] DaVinci 646x based system | |0 _6 H( H8 \2 a+ J( V) v, R
| | [ ] DA830/OMAP-L137/AM17x based system | |
8 X, s! _" O( d6 m! P& h7 \ | | [*] DA850/OMAP-L138/AM18x based system | |1 H( N# O3 T, H& e0 ]. S' w
| | [ ] Enable UART1 flow control | |6 F8 m& H1 O9 i3 E% S9 |
| | [ ] Enable UART0 RS485 funcation | |1 H) A9 |1 o7 G2 B. D. |* \$ P- g
| | [*] Enable UART1 RS485 funcation
$ C2 {3 Z3 B( P6 T1 D. u" p; v! q! y; i v3 O% h. s
想了解详细的功能实现,也可以查看8250.c文件里面的;
M- G0 |- E! k) Fvoid serial8250_tx_chars(struct uart_8250_port *up)
/ f4 e8 u3 C6 v$ \) F return;
1 G/ z+ [* t5 W( G3 N6 X }5 B' h5 ^3 c7 t9 b: t
" I- I& V, r; ^5 d ^9 d+#if 1$ I" w& f- [6 q! I: w4 L& J F
+ /* The funcation with RS485 flow control */
; s$ A! s4 |: N) j# [% @1 H4 E+ if (up->port.private_data) {6 _8 b; r+ j, W( @8 \# X
+ struct serial8250_flow_ctrl *flow_ctrl_p;
5 J5 k* U I* E1 w9 x/ n% }+ flow_ctrl_p = up->port.private_data;# A& S$ w. Z! y K8 ?* d- V
+$ c" h# l. B( b! U( t ?0 }/ d8 E
+ if (flow_ctrl_p->gpio) {- v$ p' s5 H4 f- W5 w# g/ I
+ gpio_set_value(flow_ctrl_p->gpio, 1);
' n v. S9 Y- P- A+ ndelay(50); /* Propagation delay >= 50ns */; l* M' u5 ~' v4 S
+ }8 x7 ^' h% [5 }; G P; C0 W
+ }
! I. D" X! @5 [+#endif! t/ Z, C( v2 [) f$ f5 D8 Z4 @
希望对您有帮助。$ N- y. Y7 v$ s# e3 f4 m
|
|