|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。' j( `: S3 a2 q- x! y# K, C! P$ |
*** DaVinci Core Type *** | |, M/ r; ?) T- ]% \
| | [ ] DaVinci 644x based system | |
& T0 I' H( D Q2 a C | | [ ] DaVinci 355 based system | |
; q1 r* l' v+ z- U, Y | | [ ] DaVinci 646x based system | |
/ \" Z' Q6 F. e& h9 Z; W& n | | [ ] DA830/OMAP-L137/AM17x based system | |
, x5 F; E9 C8 ]% c( V/ [ | | [*] DA850/OMAP-L138/AM18x based system | |
: D" p; B8 ], |. O. x# u | | [ ] Enable UART1 flow control | |, o4 ?& S/ J; j& r3 j3 W
| | [ ] Enable UART0 RS485 funcation | |/ i/ }8 N& v# S
| | [*] Enable UART1 RS485 funcation 8 g( E. u+ J* y7 E- r# g- O0 F
# ]! {, {4 e3 K% V! z想了解详细的功能实现,也可以查看8250.c文件里面的;9 L$ i4 Y$ D2 H9 G; N( K
void serial8250_tx_chars(struct uart_8250_port *up)( l# V1 o& T# [0 ?! ]. x6 W; J/ k
return;$ e" A, c1 f, L* R
}
5 _9 q2 V" O* r q/ V, d3 {
% c! k3 E) Q( g7 H* ~+ _+#if 1+ a% E3 b# J! o6 S: ]8 {) i
+ /* The funcation with RS485 flow control */! Y! R7 ?* O6 O! g: }9 R
+ if (up->port.private_data) {
i2 ]* C9 ~5 [% j6 Z+ struct serial8250_flow_ctrl *flow_ctrl_p;
9 E4 P" r7 K7 Y7 I+ flow_ctrl_p = up->port.private_data;
& T& C7 V* y6 t; N2 {+
" `% q1 C* v$ [5 n+ if (flow_ctrl_p->gpio) {* s4 x: {2 u4 M }8 G* C/ H/ H
+ gpio_set_value(flow_ctrl_p->gpio, 1);
* a+ u+ Z, R& {/ m1 x, ^" C+ ndelay(50); /* Propagation delay >= 50ns */
: J9 T1 D. d K9 [+ }
3 x4 c+ o: K7 |2 ?+ }4 _0 b, {' Y, j" j
+#endif. @) c+ Z% ]' Q+ \
希望对您有帮助。' e4 T0 r) P6 z: G8 [6 |
|
|