|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
+ b1 V1 e$ `. d *** DaVinci Core Type *** | | L5 H" q3 X$ B# i& p: u
| | [ ] DaVinci 644x based system | |
+ `8 h5 M: U s5 ?+ Y I8 P4 e4 E- w | | [ ] DaVinci 355 based system | |5 R/ g0 F0 V! G) d4 ?9 Y! a
| | [ ] DaVinci 646x based system | |
9 D+ @% S4 {3 | | | [ ] DA830/OMAP-L137/AM17x based system | |
4 ]0 b. q/ o0 g- l | | [*] DA850/OMAP-L138/AM18x based system | |
v3 H) o4 P" W& M4 P | | [ ] Enable UART1 flow control | |
; [* ~1 f1 R3 I: D4 Z | | [ ] Enable UART0 RS485 funcation | |2 Y; B/ X2 l$ k T5 Q4 S9 ~
| | [*] Enable UART1 RS485 funcation ! o. ?$ z* I' N7 d, q1 c
5 s8 Q" u& b x+ Z/ ~* L6 A想了解详细的功能实现,也可以查看8250.c文件里面的;4 r5 @. x: m8 |( N
void serial8250_tx_chars(struct uart_8250_port *up)5 A; o5 c+ f& \5 |- _
return;% R. _8 E' x# K9 A! u" `5 K: c
}2 X2 }2 K7 m3 K# n
3 j1 q, p1 l$ N' y6 t! B% d0 d+#if 1/ h% `: {0 u/ p9 D# k9 [% }( V
+ /* The funcation with RS485 flow control */9 `/ m$ A, m- e. r+ J
+ if (up->port.private_data) {
+ T+ @9 @6 N5 z8 N5 ?+ struct serial8250_flow_ctrl *flow_ctrl_p;
/ @ N; S0 f5 M4 \8 _! H1 f) ~7 O+ flow_ctrl_p = up->port.private_data;* Z- W6 P6 V& r8 Q. M
+
% t( o; O P: } y3 C+ if (flow_ctrl_p->gpio) {
1 `9 x: c* e! ^/ W! A+ gpio_set_value(flow_ctrl_p->gpio, 1);+ |! E0 _8 t: H/ y+ _& }4 E
+ ndelay(50); /* Propagation delay >= 50ns */. G) ?) [7 v9 W' l% h
+ }
! d1 u/ {; |, W+ ]1 O8 g+ }% A3 a2 j5 M* Z/ X
+#endif9 A2 b- b- e8 K5 N+ A" T& }
希望对您有帮助。
5 _1 {$ n% ~* D, P3 i2 n |
|