嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑
/ B( o2 u+ x3 O$ u# b3 U+ U% s) Q
1 C) S# p$ M7 |+ I7 d/ m我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,9 f+ f0 e# Y1 l& @

/ Q# p: W' N% `4 x1 C5 A; Q% F! i, l

作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
" ^4 l& W& t# G6 I  *** DaVinci Core Type ***                                                              | |/ ^# ~5 L# o2 s1 F* {+ l9 t& M
  | |                    [ ] DaVinci 644x based system                                                              | |
! D7 r% ^3 C# f  | |                    [ ] DaVinci 355 based system                                                               | |4 ~/ u! O+ V4 z, {
  | |                    [ ] DaVinci 646x based system                                                              | |" p* K% U3 e, i$ c. ?3 u- ?
  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |, [/ D/ }7 ]- x9 ~/ @
  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |0 q9 ^  c& [# L* [' }! [
  | |                    [ ]   Enable UART1 flow control                                                            | |$ p/ R/ Z) @: ?6 I7 a$ X9 O% }
  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |
% q( o- G! }9 S1 Q8 t5 M7 W  | |                    [*]   Enable UART1 RS485 funcation 2 |1 y% y2 L% ~) s0 k- {$ e
' x, H0 i- L5 y
想了解详细的功能实现,也可以查看8250.c文件里面的;) |6 _4 k5 y/ M) T0 Y, @* i* j
void serial8250_tx_chars(struct uart_8250_port *up)" Y8 M! Z4 [: C/ j
                return;
. m3 m# \4 i* G- A3 @% ]5 e        }4 `5 B  r) b  b* C4 H- T. B

4 u9 q  n" a' x# o- L+#if 13 Y. u/ o/ y  p1 d+ O# ^
+       /* The funcation with RS485 flow control */
7 q  e! r5 v" x9 P0 x+       if (up->port.private_data) {: J; ^5 |6 F+ t0 f! ~
+               struct serial8250_flow_ctrl *flow_ctrl_p;
3 j- j, m- t' Q2 B! _+               flow_ctrl_p = up->port.private_data;
3 b+ ^3 r$ }- U+
# C, S- Z& v+ A" e4 V+               if (flow_ctrl_p->gpio) {% `$ h& s, f+ q! B, Q0 ?# n
+                       gpio_set_value(flow_ctrl_p->gpio, 1);; o! k* d- X0 ~7 S. c  M
+                       ndelay(50); /* Propagation delay >= 50ns */- _1 I6 R3 W* g! v0 \! ^
+               }
  C" W9 C  b/ S+       }, A8 \# q5 I% r- z: `8 G6 I0 ?. m
+#endif
6 h; C4 O" J* \9 \8 u; H" ?: e希望对您有帮助。
( s: R: m; F7 ?: q8 g( [% Y
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊
1 r% I8 {( w6 Q9 T( M+ x8 Y- m2 s& T. K+ m/ z4 Q( X

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。5 s; U: f) v' X- H- B0 u

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28- y$ R8 d* l* h
你说的serial8250_tx_chars函数没有你下面写的部分啊

/ t0 z! o5 C/ ~2 ?在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码$ m9 f! J2 Y0 q

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




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