|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
- T! |' F& D3 ^- ?$ T9 b3 w. ~! v *** DaVinci Core Type *** | |; w: S( I7 @- E* r
| | [ ] DaVinci 644x based system | |
! e# C. @) q% M3 p6 G | | [ ] DaVinci 355 based system | |
( b8 G3 T0 m6 ~! Q' z6 k: f | | [ ] DaVinci 646x based system | |
0 j A/ S- V; O; c- Z4 g | | [ ] DA830/OMAP-L137/AM17x based system | |
3 F. U, E4 i# s% O+ ?" ? | | [*] DA850/OMAP-L138/AM18x based system | |
. ^# C- M& l7 \4 X$ S) b* W | | [ ] Enable UART1 flow control | |
( H! @2 y/ M( Z! A: j | | [ ] Enable UART0 RS485 funcation | |; Y0 ~( w4 \" M, y0 D
| | [*] Enable UART1 RS485 funcation
4 H I7 v) v& \8 r. v8 v+ k
3 p! Y( V0 \& `& y2 ~想了解详细的功能实现,也可以查看8250.c文件里面的;
& Y" \3 w8 z; v$ o2 \, ~* B, N5 kvoid serial8250_tx_chars(struct uart_8250_port *up)
: X" Q5 d; c0 r# ^. Q2 M- q return;" J- {& i7 V! P: X7 w
}; L! f( ?/ C3 A3 t) A# O
9 n- M5 d/ |) N
+#if 1
/ E5 W6 U/ v8 Y9 q C* n/ c6 g+ /* The funcation with RS485 flow control */
( G u. n5 V* Y3 h. Q) L+ if (up->port.private_data) {3 b; }! l8 O: X/ f5 k5 H! L3 ]6 b' {
+ struct serial8250_flow_ctrl *flow_ctrl_p;+ G. T3 Y, Y9 i
+ flow_ctrl_p = up->port.private_data;
1 @+ G3 ~) J& r/ g/ X+* H% o8 g+ J) w! F
+ if (flow_ctrl_p->gpio) {( H# v: l) I$ N4 F: U9 W
+ gpio_set_value(flow_ctrl_p->gpio, 1);1 R# w+ E* c+ e5 x
+ ndelay(50); /* Propagation delay >= 50ns */6 L e s1 u' s% \: i: p1 u0 }
+ }
|( v- Z" i& P5 G: z' A+ }" e- c6 D2 D4 n9 t2 |; e
+#endif h; g- n9 P; ]8 h3 r0 A0 K' K# ]
希望对您有帮助。
8 R H% y d* \* [' a |
|