|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。; e2 X! y$ t/ B! t7 T6 s7 G3 _
*** DaVinci Core Type *** | |0 P0 z. B1 N4 ^( i+ [6 c
| | [ ] DaVinci 644x based system | |
# i* \8 x% P' |7 S | | [ ] DaVinci 355 based system | |
+ `$ [- B1 |. j4 J | | [ ] DaVinci 646x based system | |
6 q2 d' p* a1 ]' P/ @% d9 j e | | [ ] DA830/OMAP-L137/AM17x based system | |0 Z. b! }9 k3 N, p# Z) x; f
| | [*] DA850/OMAP-L138/AM18x based system | |
- b8 J: @! k' e$ D P | | [ ] Enable UART1 flow control | |
; M! _/ y: a- r9 o$ @5 ] r | | [ ] Enable UART0 RS485 funcation | |, @3 ]0 J9 K8 ^2 [2 e+ Q
| | [*] Enable UART1 RS485 funcation % D$ u x4 M* ^" ?4 d
% r$ |- N+ ~3 e" F8 h' n
想了解详细的功能实现,也可以查看8250.c文件里面的;
% y( D0 U/ C pvoid serial8250_tx_chars(struct uart_8250_port *up)3 Z6 X, h, I; n* P* |- s
return;. Y/ K8 |" L6 i$ c2 W& x: o. v& G
}! x: r% J9 a8 a) ]
, G. T1 g/ A U7 r, T. V+#if 1
6 k0 o K4 Y# _, F# Z, e+ /* The funcation with RS485 flow control */. k3 ^! l) J. Y z' t
+ if (up->port.private_data) {& B, D3 V/ k. X* |( Q) p$ _1 D% |
+ struct serial8250_flow_ctrl *flow_ctrl_p;, |. N* d }& m
+ flow_ctrl_p = up->port.private_data;3 M6 F8 g y" ^5 ~
+! C& ]. j' u7 j$ H
+ if (flow_ctrl_p->gpio) {
2 l; \* {; B+ f$ c/ Q. @+ gpio_set_value(flow_ctrl_p->gpio, 1);
9 N) R7 e& F5 n5 B; ~' }+ ndelay(50); /* Propagation delay >= 50ns */$ @; M7 d) t% D8 G9 @, q
+ }6 g3 t+ u3 O* u
+ }. F: {. ^' E! x! F
+#endif
8 E7 F4 s. A9 Y( G- v希望对您有帮助。- q! m$ _6 b* J O3 u o* f) c
|
|