嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑 5 W  S" h; w8 H4 C: }
2 u- G. U; I. }9 l8 X) {7 I
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,2 j  P: F7 F" l% M* G+ G
; M. A& n: K5 J: R/ S6 J

& [% {+ ?3 m0 g1 p
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
" `$ S0 |7 O6 _) _5 ~  *** DaVinci Core Type ***                                                              | |1 q% f' ]! T# F4 A
  | |                    [ ] DaVinci 644x based system                                                              | |
2 e6 D' {3 t$ g5 r$ F4 O: }2 a  | |                    [ ] DaVinci 355 based system                                                               | |
( o& U/ f* B3 z) t; @9 [4 V% ?* T  | |                    [ ] DaVinci 646x based system                                                              | |
7 c: l1 G$ L; D( s; p  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
! h) C* {0 O3 Z) ]- k& h: n  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |7 u" v* s& f& g  n
  | |                    [ ]   Enable UART1 flow control                                                            | |* ~9 {% e: o6 s* w% ^: ^, U8 i
  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |
, g; l7 k8 U3 V$ A+ L. e  | |                    [*]   Enable UART1 RS485 funcation
/ i0 _4 w% ^( B! z0 ^
/ \5 b7 E) z$ Y  H& K1 D想了解详细的功能实现,也可以查看8250.c文件里面的;
- c' w& C: R* x9 cvoid serial8250_tx_chars(struct uart_8250_port *up)% k$ k" s* n( ^6 E' e* A
                return;
! X, p$ Q; W# N        }
3 \5 ]2 R9 E* M- L4 m$ B" p( H& G3 N5 q( g0 L! C! l
+#if 1& q# s6 W) m! k! G% q. t* N! _# ~
+       /* The funcation with RS485 flow control */; r! K. Y: ]' o
+       if (up->port.private_data) {* ?+ ?/ q* Q+ O1 W* D
+               struct serial8250_flow_ctrl *flow_ctrl_p;
2 D( Z% r" P1 U9 V$ @1 M+               flow_ctrl_p = up->port.private_data;
0 ~7 P5 x  e0 q+5 i% j) P1 V5 O/ K+ N* c# R
+               if (flow_ctrl_p->gpio) {8 l) q; {5 O0 K+ M3 _
+                       gpio_set_value(flow_ctrl_p->gpio, 1);, n, T- J$ L% ~! p, L# b& I
+                       ndelay(50); /* Propagation delay >= 50ns */6 }( m( N1 R: x. ?6 G3 r
+               }
( \* _5 Y  X: s( A! P+       }
) ^  p# @' ^, `! E7 ~# z& H+#endif0 A' Q! q( P) |' F. z4 i0 N: n
希望对您有帮助。
% G5 [1 ]; ]- ?8 ~3 m2 k9 X; s
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊
" F" ]. z7 ~  q( {) ?' u1 z1 y6 Z  g& |  Z! Q! N

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。- n/ B8 b7 S" R  g* e6 b

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:280 f  A9 w( P& w+ t$ y* q
你说的serial8250_tx_chars函数没有你下面写的部分啊

$ G! z, n" W+ V; C6 T/ q( B; _在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码
6 C: y1 ]$ p, H, B, ?
作者: sddxzzf    时间: 2014-11-18 17:20
提示: 作者被禁止或删除 内容自动屏蔽




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