|
|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。1 `) i. _& B4 U c$ j) p. C2 j! V* p
*** DaVinci Core Type *** | |) h. s/ Q+ |1 g4 U
| | [ ] DaVinci 644x based system | |
8 A7 k# Q- E* C# U! W | | [ ] DaVinci 355 based system | |" r: P( T' k: Q. y4 x
| | [ ] DaVinci 646x based system | |
. j/ \: U; v" Q% {' D) J | | [ ] DA830/OMAP-L137/AM17x based system | |0 Q2 J2 e e- r. c$ W7 N6 ]( \/ T" v
| | [*] DA850/OMAP-L138/AM18x based system | |
- @2 L7 q/ ~; K0 w# W" c# g | | [ ] Enable UART1 flow control | |
X1 C9 @: I$ m- ? | | [ ] Enable UART0 RS485 funcation | |
& u2 M. V9 q, m6 P M1 o | | [*] Enable UART1 RS485 funcation
: ?* n# B% ~) h1 u6 v; t
; a7 G' I- t3 T想了解详细的功能实现,也可以查看8250.c文件里面的;: h n& [, p# `$ n9 t
void serial8250_tx_chars(struct uart_8250_port *up)
' q* j7 L" b! }5 X) g return;
, `$ e8 ]4 N, D% n. i }
* y7 m+ M5 S% r. {% c h
" n c; N) ]5 n; K+#if 1/ u- N4 k- P1 Q8 e) \
+ /* The funcation with RS485 flow control */
4 h/ t6 b$ o# n$ V2 {! b+ if (up->port.private_data) {4 o; O6 k$ N) O8 b# S( o3 ]
+ struct serial8250_flow_ctrl *flow_ctrl_p;1 z | ]1 |% i
+ flow_ctrl_p = up->port.private_data;
* N$ R2 M8 ^# y" e, w" I+
' e1 ^; J w# y, e7 K+ if (flow_ctrl_p->gpio) {8 q) b8 {% g M+ k4 s$ [- w/ P
+ gpio_set_value(flow_ctrl_p->gpio, 1);
& ?. G, j' b6 x- d+ ndelay(50); /* Propagation delay >= 50ns */! R0 l# ]: J1 h. `7 p0 X/ }
+ }7 _8 U, d i7 |3 Z
+ }
* c6 G( y" d8 W# ~% P+#endif
6 p, F2 n! m/ C# n% h/ r9 Q4 a4 r希望对您有帮助。) m+ l1 n0 m% d+ z* \5 h" i
|
|