|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
- A8 H1 v/ o& s" v3 B$ M *** DaVinci Core Type *** | |, E: \# Y* N9 d0 u V
| | [ ] DaVinci 644x based system | |
% ~; B3 A) [: M( q$ o | | [ ] DaVinci 355 based system | |1 t; q& e6 P" h9 x y* o3 k/ I& f
| | [ ] DaVinci 646x based system | |
4 f# L' V% ~2 I4 v5 m/ t9 @ | | [ ] DA830/OMAP-L137/AM17x based system | |
* N; t3 j' N# @ | | [*] DA850/OMAP-L138/AM18x based system | | Q- r4 v& A' i' D3 J, G6 k9 S/ w
| | [ ] Enable UART1 flow control | |
& C. ?$ B8 T$ s6 ~& v4 X | | [ ] Enable UART0 RS485 funcation | |
# y/ x( y( }1 c& W% {- f | | [*] Enable UART1 RS485 funcation
1 _1 o+ q( A% u" C1 v/ Y
! R, `* ?6 D: Y9 U; V- n1 ~; F想了解详细的功能实现,也可以查看8250.c文件里面的;
- v) n P9 ]3 c$ j8 U) B% Uvoid serial8250_tx_chars(struct uart_8250_port *up)
- D6 T4 ~& R* S( W. F* } return;& C: y# V( D$ @. L& I" t1 B
}* l% ~$ z2 \, d# {5 u }; e
7 V+ r$ K" i* f+ v7 W
+#if 1
3 l* l Y$ o1 y5 W9 O+ /* The funcation with RS485 flow control */. j# ~3 O+ r& K$ T! x+ T
+ if (up->port.private_data) {
* Q2 l& a E' [% Z3 q+ struct serial8250_flow_ctrl *flow_ctrl_p;, l) C* l. R" p7 L$ X- u+ }
+ flow_ctrl_p = up->port.private_data;8 M$ ~2 P+ P4 H) o
+
! H! F" @7 \$ L+ if (flow_ctrl_p->gpio) {
3 P9 q5 B6 b J! j, c6 w+ gpio_set_value(flow_ctrl_p->gpio, 1);1 W: C9 g9 E6 x, {. X4 f/ R
+ ndelay(50); /* Propagation delay >= 50ns */
% s% W# c; j, ^ k$ S7 _. E+ }
1 l) d4 s" D. W. ]) v- H+ }
+ x, l6 m+ R* c& T. r+#endif
! j5 d0 k5 Q+ ], ~6 E希望对您有帮助。8 P+ u Z) L6 Y' ]* _
|
|