嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑 - ?+ c6 e8 P: }" R: \
3 T3 F* |) A2 n% i# J% w5 a" T/ U
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,
9 E5 |/ e0 s& t7 _+ y8 {7 _& n! [( A" T

* r8 u& S" T, X& l2 {8 ~
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
6 Z: z9 b; V( N8 K3 \' O. M: d3 R! I  *** DaVinci Core Type ***                                                              | |; S& b' T5 U1 D4 f
  | |                    [ ] DaVinci 644x based system                                                              | |) L6 `9 r, P, L0 d7 c+ O
  | |                    [ ] DaVinci 355 based system                                                               | |! p% F% o3 D4 Z( l
  | |                    [ ] DaVinci 646x based system                                                              | |
1 A8 w; |! p0 O5 @0 z  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
3 t  @# M* e* X; J2 Z, {  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |; S: A" q. }" T( n6 \0 K  [; `4 P! C
  | |                    [ ]   Enable UART1 flow control                                                            | |  `) l/ d8 ?% ?
  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |
7 v6 B. t( X: h9 r  | |                    [*]   Enable UART1 RS485 funcation
& h% |; C, K; j! R7 F6 y$ Y/ D' R: K7 N1 P8 A7 k5 m
想了解详细的功能实现,也可以查看8250.c文件里面的;' i% X' t( Q, m2 I( [! X" G9 F
void serial8250_tx_chars(struct uart_8250_port *up)
  d& W% Y( H4 f6 d                return;# }1 d) ?/ O" O" v" l  |
        }
# q7 B+ q; B8 R  V+ j- V$ G/ J2 ^: x( D0 L  O2 m, t- p
+#if 1
& @! f0 ]: m0 t3 z+       /* The funcation with RS485 flow control */
0 r4 C& x6 J& I% P( o' G$ u+       if (up->port.private_data) {( y* i5 U$ i: ~8 b
+               struct serial8250_flow_ctrl *flow_ctrl_p;7 n8 p% U+ o% s, ]
+               flow_ctrl_p = up->port.private_data;
$ g1 M- L! ^/ B  G/ a6 p+, ~: C* N/ H1 L( |
+               if (flow_ctrl_p->gpio) {
+ c/ f3 E% r3 u, A1 n  k2 k+                       gpio_set_value(flow_ctrl_p->gpio, 1);2 k6 T" \- T7 e3 X8 j3 n6 z3 g( ^
+                       ndelay(50); /* Propagation delay >= 50ns */
' _. f; W- u  |2 F0 V+               }9 U& o( v5 H) E+ p6 q3 i
+       }" p( ^* h9 i2 x/ Q( q7 x' N
+#endif
# B+ }7 c5 A! T. D. O$ g$ C希望对您有帮助。+ |. _1 Y' L% N! h0 D

作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊
( h/ t, v% R/ b3 F9 ~4 t, [+ Y# S5 [9 O( s) ]. G

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。6 s" y( I+ A  V$ @8 q

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28) g5 z  \/ K- f. `, g% b; H
你说的serial8250_tx_chars函数没有你下面写的部分啊

( s6 q- }8 E6 f6 g: s在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码$ d/ X6 B5 K( w, Q2 O4 a

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




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