|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。* l& X, u! m6 ?) x. Z6 Q
*** DaVinci Core Type *** | |- o3 c/ y8 b F* X9 ^. M1 V9 a
| | [ ] DaVinci 644x based system | |
+ r7 H/ o; Z4 b8 g | | [ ] DaVinci 355 based system | |9 Y3 E5 P. H! v4 i7 Q; T, K
| | [ ] DaVinci 646x based system | |3 ^+ R& m4 P. e6 X
| | [ ] DA830/OMAP-L137/AM17x based system | |
! I4 k. x0 @6 ?' b% |! B) { | | [*] DA850/OMAP-L138/AM18x based system | |
( `% Z& J7 M b g1 d, d | | [ ] Enable UART1 flow control | |
. d& g4 Y$ A/ v8 C | | [ ] Enable UART0 RS485 funcation | |
6 R$ c) C" c( p* O: f | | [*] Enable UART1 RS485 funcation : u$ K1 R% h/ O8 ^ F( M
% A' B* [* w \( A* v$ n; Y想了解详细的功能实现,也可以查看8250.c文件里面的;& V5 Q1 y$ `) C& H N$ p( t5 b
void serial8250_tx_chars(struct uart_8250_port *up)
4 }% ^1 ~3 }, G5 M& t4 l- o return;
4 e3 B1 h4 @/ K S7 v' C }
Z7 x3 H" T0 {) o* C
, T( N& A" h5 l9 Z. \+#if 1& e! R* N. `; g. l& d
+ /* The funcation with RS485 flow control */3 |; s; i' i9 v, A5 I
+ if (up->port.private_data) {
* Q* \7 z+ I* {- a+ struct serial8250_flow_ctrl *flow_ctrl_p;3 C% h/ f9 ?5 z& `
+ flow_ctrl_p = up->port.private_data;" r# U$ J( I; J( ]5 K3 G/ G
+
7 J4 T2 b, Q! E( ]5 z+ y+ J+ if (flow_ctrl_p->gpio) {- e% g7 e3 n0 \3 F" H1 b+ X7 [
+ gpio_set_value(flow_ctrl_p->gpio, 1);
$ }0 A, k" \/ ^5 L8 E! K+ ndelay(50); /* Propagation delay >= 50ns */
" ]: c4 c6 S! h3 ^8 ^+ }
& t3 t# S+ V0 U' b9 M- Q8 e+ }& y8 Y! p$ Z# ~) I* M1 d
+#endif; Z3 C9 T4 T1 m6 x$ |
希望对您有帮助。' s2 ^7 B* a5 i% x5 Z# x
|
|