|
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。! D. y, M7 J8 r* P4 w
*** DaVinci Core Type *** | |
4 O# M- x. S% Q% U | | [ ] DaVinci 644x based system | |% A9 G8 s+ a- y0 c6 Z9 a9 {
| | [ ] DaVinci 355 based system | |
" F# Z/ t& N8 F1 g* G% z6 J; `$ x | | [ ] DaVinci 646x based system | |2 |, Q4 H0 z# F! F* f {1 R; q
| | [ ] DA830/OMAP-L137/AM17x based system | |
( l/ n. u1 O5 h3 n- q' C7 I | | [*] DA850/OMAP-L138/AM18x based system | |
6 C M) n! B% a. V* F | | [ ] Enable UART1 flow control | |
0 e" c6 d9 Z. x/ Y( ~ | | [ ] Enable UART0 RS485 funcation | |
! D% O! C/ g' K+ b6 @ | | [*] Enable UART1 RS485 funcation
R# V+ R1 Z* {; l0 R, i* V1 f# Z F- Q9 Q3 R# L+ e
想了解详细的功能实现,也可以查看8250.c文件里面的;
4 [2 x( Q! s. L( a$ v+ Hvoid serial8250_tx_chars(struct uart_8250_port *up)* s/ i; G: g% p0 `/ `
return;
. y/ d" p! @) c }2 s, @ ^6 b2 V" L8 F- g' I
. {1 p# X1 N& ~7 `- n4 c
+#if 1
* q1 J% f' e! N, p, Z1 _* M+ /* The funcation with RS485 flow control */
1 G$ R4 t. p5 y5 L/ E: n6 C+ if (up->port.private_data) {# B' K8 ]- k7 E9 ^% `" t
+ struct serial8250_flow_ctrl *flow_ctrl_p;! X- W( v+ {0 j
+ flow_ctrl_p = up->port.private_data;& Z; C8 H- i6 x# g! ]# c
+5 A, r" U% g m
+ if (flow_ctrl_p->gpio) {% H+ ]+ b& @" {2 o
+ gpio_set_value(flow_ctrl_p->gpio, 1);
0 ^' P& C- c# o/ d6 c' r+ ndelay(50); /* Propagation delay >= 50ns */3 W! a; v1 V9 e% V
+ }" ?) ^" S3 S, E* d
+ }
3 F/ d/ N$ m. z* S d: N/ J+#endif( Y, I; J( N" ^* \3 n7 U
希望对您有帮助。4 ]5 S0 E$ |( Q$ P, q* ^1 a' a. ?
|
|