|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。( a; ]# N. e U/ t+ c' `
*** DaVinci Core Type *** | |
; `0 o5 u# i0 K3 m9 D | | [ ] DaVinci 644x based system | |
7 l9 n' t7 G9 D0 l# D$ N4 [ | | [ ] DaVinci 355 based system | |4 Y/ X* Y6 W0 b5 y4 T! Y
| | [ ] DaVinci 646x based system | |" ^; N! ~" p! q* ~
| | [ ] DA830/OMAP-L137/AM17x based system | |* k+ v( ~9 L4 @5 k1 I, [
| | [*] DA850/OMAP-L138/AM18x based system | |# G! P. x; }6 T% v* l- S$ N
| | [ ] Enable UART1 flow control | |
; M2 s; u5 X: g8 r7 o& K | | [ ] Enable UART0 RS485 funcation | |5 h3 T5 a( x! l, b% o/ }/ a. ^& b0 i
| | [*] Enable UART1 RS485 funcation ' A- ? o8 a/ k1 j
9 a* m1 Z: N, U2 Y5 o
想了解详细的功能实现,也可以查看8250.c文件里面的;
9 ]: }& I9 g1 D! Q; {void serial8250_tx_chars(struct uart_8250_port *up)
. b$ M5 X" g4 _. w) M, C) _ return;
4 y+ _5 v1 D( v) f }
. E% [/ c) ^: K6 T' X/ s; S4 ~+ ~. e' [' w+ B
+#if 1
2 |7 Y X3 G9 p1 {/ |2 E) x( @- ~+ /* The funcation with RS485 flow control */% {% H8 q* H3 |% M) F
+ if (up->port.private_data) {
. S. K* H5 j5 W- ~, J. f# E) s+ struct serial8250_flow_ctrl *flow_ctrl_p;
% }( W& z- q6 O" f* N& F+ flow_ctrl_p = up->port.private_data;: ^& D, M5 X D
+
" N; i% b% B4 f! F9 Y" _+ if (flow_ctrl_p->gpio) {, Y0 J3 C. M" |! P ?! K' l
+ gpio_set_value(flow_ctrl_p->gpio, 1);
% h6 x1 c" Z. D' o+ [7 E. `+ \+ ndelay(50); /* Propagation delay >= 50ns */2 X) x/ V3 n8 K
+ }% i3 G7 ~& E- `$ g( w
+ }/ ~7 f% B' S Z6 F! |
+#endif
6 T5 V2 K5 F' h [! Y* R希望对您有帮助。: r, u) H" m, }/ O: G# K1 ?% ~
|
|