嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑
( P/ o% }3 T% |5 |5 A, D' s" v7 _- T$ L6 ?& \
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,* ]/ k% L4 u& \! b. s9 M
4 B  T% G: n: |1 }! V' |
3 I/ Z* N" ]* V# I# F$ _

作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。& ]3 j3 m' _+ S& q$ ]
  *** DaVinci Core Type ***                                                              | |
! s3 P# S! W# o; Y+ R1 a9 w4 |  | |                    [ ] DaVinci 644x based system                                                              | |4 d  e4 C/ e4 D! b! D) b, b+ ]1 Q0 q
  | |                    [ ] DaVinci 355 based system                                                               | |* v9 P/ L5 Z& A4 |
  | |                    [ ] DaVinci 646x based system                                                              | |
" K# ?$ r5 G( y# ]; Z  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
8 Z* d3 B& u( A$ J  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |2 T& |( e+ `* x) P' m  W' |
  | |                    [ ]   Enable UART1 flow control                                                            | |0 i9 D+ [0 l8 W: _9 g
  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |- w& ?3 o5 U- N8 F4 e. S
  | |                    [*]   Enable UART1 RS485 funcation
; S3 h/ z- F# H8 ?2 u, m! k5 c, A: t9 B9 w- T3 e0 ?: J2 Z- p
想了解详细的功能实现,也可以查看8250.c文件里面的;
) G# [+ q; A" i7 x& W( _void serial8250_tx_chars(struct uart_8250_port *up)) o5 S) s% B& o, o/ p
                return;  @, B) P3 A& n
        }
- z7 [2 {- d9 u* r" [
1 G+ a& L1 y9 b! K% E: t5 h+#if 1, @8 T# y& ^% I5 O
+       /* The funcation with RS485 flow control */. c6 x' d( k6 B. i5 x$ D/ e3 e
+       if (up->port.private_data) {) L. l; ]# y& I4 r/ D
+               struct serial8250_flow_ctrl *flow_ctrl_p;+ b# \$ V6 c/ B/ I+ l9 l
+               flow_ctrl_p = up->port.private_data;1 `  J+ w+ s+ A- p  l
+
8 ?" C) S. {, P7 G: Z  c! _+               if (flow_ctrl_p->gpio) {3 ?1 g5 A: k; i8 n7 c; t. @# s3 A
+                       gpio_set_value(flow_ctrl_p->gpio, 1);" f- K! ]! C5 j  j' b* ~
+                       ndelay(50); /* Propagation delay >= 50ns */
; y8 T. e: n( \* r: c( b+               }
1 Y. G; ], o7 m9 _9 r" e" V+       }
. Z! J8 b# Z+ g2 W+#endif
( @/ I1 ]! n7 M) c/ l希望对您有帮助。6 |. i+ q4 M/ O& ]; h8 i6 G, m

作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊# `0 y  q. H: q/ d

7 }* @* q) R+ S. o
作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。& U" y( W6 P. {/ I

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28
* k) o: l8 P! t6 c. q( Y你说的serial8250_tx_chars函数没有你下面写的部分啊

% P4 K6 A/ n; s2 L2 |2 D在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码8 a, O, ^/ z2 I* V/ }- M

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




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