嵌入式开发者社区

标题: 关于RS485控制引脚 [打印本页]

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑
- `/ v! `7 h3 r/ s9 w$ A6 U* b6 z, F, N: t* [# l
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,. E! @* J9 I( _  l. V" U) K

: I" m3 `6 W  R9 x& J
7 k, H, L+ B& t' D: N. l
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。( w- K; ^7 b  a! \: I3 p
  *** DaVinci Core Type ***                                                              | |1 v8 x% \1 D: }# ?$ ~
  | |                    [ ] DaVinci 644x based system                                                              | |) Y, c. L* o$ }5 U/ Q
  | |                    [ ] DaVinci 355 based system                                                               | |
/ ^0 T; ?4 \4 O  | |                    [ ] DaVinci 646x based system                                                              | |
0 _6 J0 s* g7 x- F. i# G! s; J1 }' C+ z  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
" B+ x: m( Q2 C  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |' C7 w" n/ `% S% e- e1 V
  | |                    [ ]   Enable UART1 flow control                                                            | |
- a$ q- ^0 M" h  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |2 [5 g- O5 [' a' F* U9 E5 L
  | |                    [*]   Enable UART1 RS485 funcation
$ F/ b: A/ N! l! Z0 R. h
2 Q1 g( U$ s6 K5 W; G# _想了解详细的功能实现,也可以查看8250.c文件里面的;# t5 ]6 |& [4 p! B2 i, B1 ^# b2 u
void serial8250_tx_chars(struct uart_8250_port *up)
: x; }; |$ c- ^; J0 K/ G, d                return;
, Q! Q* s$ t  {  {/ y        }7 b  O8 @* ]- F! Z$ O( L6 R
9 p- m2 c) A) H7 M; O; I
+#if 18 r/ m: J: f) U  }; P
+       /* The funcation with RS485 flow control */# x$ \5 _6 P* p9 E3 f& T) d" `
+       if (up->port.private_data) {
1 C3 y  ?+ [8 Q# {" D+               struct serial8250_flow_ctrl *flow_ctrl_p;( E. K' d) A9 r
+               flow_ctrl_p = up->port.private_data;$ O1 W3 O" D0 V& l6 z' ]
+
2 l5 u( o4 v, C+ p' I' T& A+               if (flow_ctrl_p->gpio) {' S; h$ g* P0 ^. U
+                       gpio_set_value(flow_ctrl_p->gpio, 1);
7 Q& Q7 {6 J+ T7 \, W% l+                       ndelay(50); /* Propagation delay >= 50ns */% J' U9 Q  ]0 f% d6 m. ]2 w6 }
+               }. N9 z0 _% j8 R; k( C  T. J
+       }
' W3 b9 t/ d, D6 W+#endif
) u1 Q8 O+ `2 _希望对您有帮助。
+ ~. S' }# `. B% H! x0 H* V
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊$ \$ ]: d: W; i  u% j2 p

- H$ T" S$ g* s' R* r8 Y* j# g4 v
作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。
! M- m5 V( p6 K  G
作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:285 p6 J% W7 H& G/ k  n3 o( g
你说的serial8250_tx_chars函数没有你下面写的部分啊

" u1 B' E& P) y% L& A+ V/ E在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码
! F, A( m7 s( X% q' g, p' K2 e  U
作者: sddxzzf    时间: 2014-11-18 17:20
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4