嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑 3 g2 h" H$ P! w

  l% K* l2 }% G1 q  |1 D4 o我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,$ Y9 S8 H! K' k/ _+ s' A

0 Q# e; _8 r1 B/ j% c* _0 o7 Q" B% b

作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
# d; H1 k- r( |$ ?: j1 v8 @  *** DaVinci Core Type ***                                                              | |
, K) [& H! e8 J5 @5 c  | |                    [ ] DaVinci 644x based system                                                              | |
+ ?+ L2 _& f" n/ J, M  | |                    [ ] DaVinci 355 based system                                                               | |' E0 J( T1 M: V/ M
  | |                    [ ] DaVinci 646x based system                                                              | |2 T0 [1 }. i+ ^, ^
  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
0 I$ p$ Y$ X. u  |  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |
6 u& @3 x6 L3 l' |, D! E  | |                    [ ]   Enable UART1 flow control                                                            | |' }2 G) X, E; o5 f9 T1 K
  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |5 l9 W3 r/ ?2 Q' B% ^
  | |                    [*]   Enable UART1 RS485 funcation * e4 y7 T3 u% p4 `1 a

/ N+ h: `7 V! l# h  {想了解详细的功能实现,也可以查看8250.c文件里面的;
3 L5 \: U3 n6 w  u( Evoid serial8250_tx_chars(struct uart_8250_port *up)9 X4 F- D9 w/ O* P4 @: P5 x9 J
                return;
5 y; Y7 h$ {% _) Z3 g        }0 C* I* ^  n  \
9 L! h. ?  }& w2 A0 i
+#if 14 z1 L/ V  S9 _; ]8 }8 g7 Q. e
+       /* The funcation with RS485 flow control */3 a4 F8 a. P  L
+       if (up->port.private_data) {3 E4 y- F2 j$ {% k& r! a) ]
+               struct serial8250_flow_ctrl *flow_ctrl_p;6 x2 A0 `! y7 d' `' |  J
+               flow_ctrl_p = up->port.private_data;) ?, N0 A+ T# `9 f; T1 b
+
4 d( g8 J/ Y* Y0 }$ y& \+               if (flow_ctrl_p->gpio) {
2 |- c1 j3 [& w3 q3 Y+                       gpio_set_value(flow_ctrl_p->gpio, 1);
; @1 m8 ?; S: |) h. Y+                       ndelay(50); /* Propagation delay >= 50ns */
. ~5 P# L# ]( {% P+               }& J7 |+ q) P+ g
+       }
* j( B- D7 L/ X2 z8 h) ?9 D+#endif, T6 O- c/ D9 m# J
希望对您有帮助。. k1 p, [# s& B- _

作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊
7 w+ _+ l9 q  u$ h8 l/ e. n; H* z8 t- [4 w0 _+ Q

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。% M8 j, R) x; _7 ?# J

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28
4 K. u7 H7 @) f" b: J1 g+ s, m你说的serial8250_tx_chars函数没有你下面写的部分啊
+ B0 i' s$ G" o& }
在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码
1 Y: V% l4 r; O
作者: sddxzzf    时间: 2014-11-18 17:20
提示: 作者被禁止或删除 内容自动屏蔽




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