嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑
# @" H6 d5 ?/ W( b9 u. ]" h; n$ d4 t6 f' ~7 B2 h% m- b
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,) R( l3 |2 g* E1 F7 P$ Q
  _& H0 i( v2 _  G1 [
$ z" ~% [1 z' l! S0 ]

作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。- R1 S" c+ a+ v1 h: A
  *** DaVinci Core Type ***                                                              | |
- |6 Q* t3 c" w+ z9 V  L  | |                    [ ] DaVinci 644x based system                                                              | |6 M& K8 a$ M& S4 p! N
  | |                    [ ] DaVinci 355 based system                                                               | |
6 G& S- y/ l1 r' }  | |                    [ ] DaVinci 646x based system                                                              | |; Z. n# ~8 X( |; o
  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
' l/ [9 _; x% P! l+ F0 y' r* n  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |, N; w6 L; L& i, H
  | |                    [ ]   Enable UART1 flow control                                                            | |, |7 F4 j8 K( s! Z' D; a' R
  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |  X/ ]5 R; C0 U  x! K% ~% U
  | |                    [*]   Enable UART1 RS485 funcation $ H1 Q7 u7 B" M
% H. O+ s0 U$ k) r- n
想了解详细的功能实现,也可以查看8250.c文件里面的;4 ]2 y% y; M7 [) [
void serial8250_tx_chars(struct uart_8250_port *up)
- ?& T' K7 e, ?0 j/ O                return;; |& T# R" h4 u* ]  Y# G
        }
! |( [* r; n8 S2 K  K( W) h3 O4 O/ v: E, u: _
+#if 1+ W5 S8 |0 Z& D3 O8 E: x4 T
+       /* The funcation with RS485 flow control */2 T& @+ u- V4 s% v* r5 A6 S* D
+       if (up->port.private_data) {0 k6 {" D* p& n0 \# T5 ~! ~$ l/ U
+               struct serial8250_flow_ctrl *flow_ctrl_p;7 S& ~: ]; A6 C2 }+ V, @& Y
+               flow_ctrl_p = up->port.private_data;
1 y" |  J1 {  n+
- e" L/ I/ o/ N3 W+               if (flow_ctrl_p->gpio) {
. g3 J; X5 w5 T0 S% l# M4 ]+                       gpio_set_value(flow_ctrl_p->gpio, 1);* u. @) b+ J8 a* N9 z# R7 {
+                       ndelay(50); /* Propagation delay >= 50ns */
) P7 L3 D$ Y+ g2 p+               }
: B- k5 c- `) ^( x6 ~+       }* @# P; t  p+ n$ S) d$ Z, J3 ^
+#endif
% a7 I& A6 w' ?; [% w2 y7 C7 y' B希望对您有帮助。4 o8 y& D) ?# P2 O+ E3 O

作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊- f4 n$ s# v! z, a/ s$ l

0 l9 v& D& S7 r+ G
作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。. v; Y7 M. w) C) _3 f% ^/ A

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28
3 H. u8 n) b5 r0 t你说的serial8250_tx_chars函数没有你下面写的部分啊
. S% t5 h- ]7 {3 X0 c# |7 x
在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码
  [# P2 B, Z- }
作者: sddxzzf    时间: 2014-11-18 17:20
提示: 作者被禁止或删除 内容自动屏蔽




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