|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。& B6 u: d6 [4 j$ U# K
*** DaVinci Core Type *** | |
# J! j7 O" f6 d0 a: \+ b | | [ ] DaVinci 644x based system | |/ X1 h1 W& F, K0 J% P1 ^8 v
| | [ ] DaVinci 355 based system | |
- \# C: O& |# X1 Q) X | | [ ] DaVinci 646x based system | |
& h7 T* S d# m0 t | | [ ] DA830/OMAP-L137/AM17x based system | |0 y% j6 ]" g, u+ x, m' C
| | [*] DA850/OMAP-L138/AM18x based system | |( E6 f& e' }: T$ B6 s# e+ |% t9 X6 d
| | [ ] Enable UART1 flow control | |: k/ D- q! F0 U: H8 }2 ?( @0 G
| | [ ] Enable UART0 RS485 funcation | |
( G. _- n4 E$ F | | [*] Enable UART1 RS485 funcation
7 r8 @; E4 J. q$ R+ k6 m0 Z$ ?* |+ O* b7 O( b/ w
想了解详细的功能实现,也可以查看8250.c文件里面的;% j1 A2 g9 P0 o8 o
void serial8250_tx_chars(struct uart_8250_port *up)1 G6 _, q+ S# b' z& F# u
return;
9 \ u! z# t1 {$ R9 j W% V: q }
4 G' e6 ^/ I' e
: _( r- g- C) g0 [% C4 I1 P( @+#if 1+ G1 `( E: \. w' a: p! A; M0 `
+ /* The funcation with RS485 flow control */
( Y0 A7 v5 _* D+ U2 @+ if (up->port.private_data) {
! F2 l2 z4 q0 T+ struct serial8250_flow_ctrl *flow_ctrl_p;6 l0 l, [# S1 ]" `
+ flow_ctrl_p = up->port.private_data;
7 }' }) E& P4 {1 M: t' Z- R0 S+
8 e2 ]+ G$ k$ }# v+ W6 z+ if (flow_ctrl_p->gpio) {- ^" i$ v0 H( I1 O
+ gpio_set_value(flow_ctrl_p->gpio, 1);
W5 F4 V; H& _# ~) f' d8 r+ ndelay(50); /* Propagation delay >= 50ns */
* l& i, |; ]2 y" G: f- q+ }: q& t& _' k* r4 I. y2 _$ ?, q& C6 y
+ }6 b8 c- j- P) `6 \$ z" j
+#endif
, f8 ?" @9 R! X f希望对您有帮助。0 s, u# {; a9 x1 Z0 @
|
|