嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑 . @0 `5 C5 j: P! Q
* O, R# E; Q, ?5 ~( |( ~+ i
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,
- @* b9 c8 W- r1 \! `. _# p" Z9 y* x/ I' v  m

5 }$ S* q! @5 k! v5 D
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。
, ^" U7 w# p2 h9 v+ X7 H0 V  *** DaVinci Core Type ***                                                              | |, h; q5 Z' U) n
  | |                    [ ] DaVinci 644x based system                                                              | |
5 L+ z, A6 w6 K  | |                    [ ] DaVinci 355 based system                                                               | |
8 M- a8 t  E8 y8 i+ N9 _3 p  | |                    [ ] DaVinci 646x based system                                                              | |
8 X- p4 X* Q1 O+ d8 |7 ]  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |5 N  N/ z- Z4 Q
  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |6 t* l. F+ G) P% i/ M/ @' A
  | |                    [ ]   Enable UART1 flow control                                                            | |
6 }! ^& o; n" f2 q  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |
( P: @* `; @' S) `2 d, _) l  | |                    [*]   Enable UART1 RS485 funcation 6 ^- b, H: o2 G: c5 B2 m
$ r& Q1 i" W6 J6 i7 i' `/ {# D
想了解详细的功能实现,也可以查看8250.c文件里面的;3 Z7 c$ I/ g: ?, p5 s+ Q/ [
void serial8250_tx_chars(struct uart_8250_port *up)9 V: I2 n3 w' J* R7 g
                return;1 @8 u4 [0 }- T" U
        }6 }$ m* P3 z3 G" u( U; F

* K+ Q9 {; r/ }3 @+#if 1
6 l3 d- k3 B2 R* [) e" w+       /* The funcation with RS485 flow control */% N. G: p' M- x7 d
+       if (up->port.private_data) {% {! R, Q8 ^5 b# h0 Z7 @
+               struct serial8250_flow_ctrl *flow_ctrl_p;6 t/ w1 f; o+ n' s0 j) x: g6 m6 c, F
+               flow_ctrl_p = up->port.private_data;
5 U! s1 k7 K+ G  h5 \+' ?+ u1 P( R) v2 N# o
+               if (flow_ctrl_p->gpio) {; `, B$ n  x" ~6 F6 o# i) b/ E' d" t
+                       gpio_set_value(flow_ctrl_p->gpio, 1);! X" P3 t6 R4 A, ]* O  N/ q
+                       ndelay(50); /* Propagation delay >= 50ns */# J; y  a, L% m$ Z. v* P" Q
+               }( O! |7 z) R. g1 ^5 G
+       }
* s9 L4 G$ \2 ^8 X4 l0 u+#endif
, h0 v7 M+ R# s# X5 Q* U3 ~4 ]希望对您有帮助。
/ e7 ?. f  U' B- O+ C6 Y& v% w
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊: [/ j9 O8 O" E: H

' A& V  ~4 h8 g  }* c4 H! U
作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。' _4 j2 _, m; b- N, L& ^7 a

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28, E+ _- y6 S: H+ n: I+ _& K
你说的serial8250_tx_chars函数没有你下面写的部分啊

1 r! Q3 e  g, }# _在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码8 a  B8 Q9 I7 s: c

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




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