|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
. q) ]8 v- E1 P, s8 `/ u *** DaVinci Core Type *** | |& w- Y+ B$ b4 P! e- U
| | [ ] DaVinci 644x based system | |
# K k6 M/ _' D5 A1 a: ? | | [ ] DaVinci 355 based system | |
: i4 y0 v2 j: `: ]+ H5 L+ L | | [ ] DaVinci 646x based system | |
3 b6 u- p/ b) y. z& u2 y | | [ ] DA830/OMAP-L137/AM17x based system | |* @3 q* I. p [3 {$ Q9 U1 _8 }6 U
| | [*] DA850/OMAP-L138/AM18x based system | |
# R8 R# j7 v# G0 L# b | | [ ] Enable UART1 flow control | |
) F7 d* j& S8 q% b* T' [' S | | [ ] Enable UART0 RS485 funcation | |
; _8 _9 o7 Q/ H% K3 b | | [*] Enable UART1 RS485 funcation
/ B- F' ^) W4 Z: ], y F$ i, A" X( _' A& _) W% T1 {8 M, o2 v4 ]8 v
想了解详细的功能实现,也可以查看8250.c文件里面的;$ M% m6 R# c( g/ E
void serial8250_tx_chars(struct uart_8250_port *up) S+ U% R1 H( d5 J* ^
return;
" w2 d3 J' q1 I& ? }
) V3 m4 l, O; S; F! S
8 `, g) ~+ a" w% R5 z, }- z/ i+#if 1
4 S: `! w ~ i& U1 r+ /* The funcation with RS485 flow control */
8 m, g7 \$ E. b# w+ if (up->port.private_data) {9 P: d5 U2 M8 r; |9 L$ k5 ^
+ struct serial8250_flow_ctrl *flow_ctrl_p;& q( T/ s$ n" h* H; \5 K
+ flow_ctrl_p = up->port.private_data;4 l/ F) E; N5 b6 F. m' q
+
' F; Y, B$ r' P3 |/ K+ if (flow_ctrl_p->gpio) {( h7 f+ x& K+ O9 i( P7 t: w
+ gpio_set_value(flow_ctrl_p->gpio, 1);1 d9 ^' a L9 p2 t1 d, F4 M
+ ndelay(50); /* Propagation delay >= 50ns */
4 v: ^# h9 Z8 R- ~# r9 g" K+ G+ }
8 N' ? j0 V# `9 a+ }
; _4 I! O3 k) l" f/ L( G+#endif+ I! l# o6 B& V5 `
希望对您有帮助。
2 F: Y, G: ]/ ]- f. u |
|