嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑
. \1 ~6 P5 ~( ]3 A# N7 n
4 y6 K$ x* s4 c# O( \我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,0 v1 p" i, r+ z% ?0 M( ?+ i

9 X2 f1 |5 o# \9 N+ V0 N
( _/ d8 T) [9 d: j! w8 `) `: |! w
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
& L$ X5 ^- B  O7 W( q# Y% d0 J1 r  *** DaVinci Core Type ***                                                              | |) n6 T! j  P* }( U. ]9 F
  | |                    [ ] DaVinci 644x based system                                                              | |
3 Y& Y+ ]% {& T2 z! T' o, L  | |                    [ ] DaVinci 355 based system                                                               | |5 d: T' R8 d! V  X, L+ ^
  | |                    [ ] DaVinci 646x based system                                                              | |" P& d0 Q7 I  E' I2 O0 Q
  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
1 y: {0 Q$ J+ p8 O- p& r; |  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |
( a1 _% h1 A( E9 h% b5 P0 H8 t" u  | |                    [ ]   Enable UART1 flow control                                                            | |
7 N, y) d  o3 r6 O  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |  \. ~+ S5 b+ Z  y9 {' C
  | |                    [*]   Enable UART1 RS485 funcation
8 M# x" m$ @3 ^5 Y5 Y& P. I' p8 j, c& `1 q- s: ]
想了解详细的功能实现,也可以查看8250.c文件里面的;% f& f! Z; a$ a
void serial8250_tx_chars(struct uart_8250_port *up)
0 g/ \9 G- L( W) ?& R+ G                return;
  A+ G; j, F2 y* n        }0 v' w; s  |3 ~  V# M( c7 o0 o
) U: y; \; [) A* [8 p: ^# T" v
+#if 1, ]* N* p- \! C5 [& k
+       /* The funcation with RS485 flow control */& o( y/ [0 N4 r; j+ {
+       if (up->port.private_data) {
7 S! Y' }+ _+ c6 c3 H- X4 X+               struct serial8250_flow_ctrl *flow_ctrl_p;- C& j3 y+ L" ]; i5 I3 z$ T
+               flow_ctrl_p = up->port.private_data;
" s) j9 e9 F" ~2 U+
5 v  ?0 s0 E7 S" o* Z' a+               if (flow_ctrl_p->gpio) {% w2 X$ s# b. `- u
+                       gpio_set_value(flow_ctrl_p->gpio, 1);. k5 N& m7 l$ w, z$ h9 I/ i
+                       ndelay(50); /* Propagation delay >= 50ns */( \$ Y2 D. ?  x# b* Y6 z' ]
+               }1 _7 W+ l' O- }: ]
+       }! C# k) w. m# Q! @* ?, b' B+ i
+#endif* a) F; }; s* S( I( c4 I
希望对您有帮助。$ x3 {# Y! Q( H& a  y8 V( m* h

作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊, ~; Y2 d$ D3 z) N

  s% M+ c4 v# _1 i2 ]) S  g
作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。7 E( P+ K. {1 x# ~" K, z! l4 o

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28' @/ c6 ^% o  B/ x; p
你说的serial8250_tx_chars函数没有你下面写的部分啊
. i8 d5 {8 V( `6 Y2 ^
在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码1 u9 a! L! x  X0 a& f( L

作者: sddxzzf    时间: 2014-11-18 17:20
提示: 作者被禁止或删除 内容自动屏蔽




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