嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑
6 Q0 T! S7 E% M3 M: e, M" A9 [8 P7 D: f5 W5 h
我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,
* A: C) Z; T' S* @/ d, a' @/ h- r( w! u+ w
0 b1 J4 I: W: K/ }

作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。7 J3 ]* e3 t( T# |( {+ E9 H  `
  *** DaVinci Core Type ***                                                              | |
" F) g$ ~7 ]2 e1 z& S. `& y; w* W  | |                    [ ] DaVinci 644x based system                                                              | |# p4 {8 Q. b- k" P5 C' j0 I
  | |                    [ ] DaVinci 355 based system                                                               | |6 R" l3 ~5 _9 \% y% K
  | |                    [ ] DaVinci 646x based system                                                              | |8 R" J0 G( w$ b
  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
5 h4 u/ l" ?+ c% B# j$ c; l  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |- D# D2 n8 b/ A2 \5 G* D' x) C
  | |                    [ ]   Enable UART1 flow control                                                            | |# ^# i  l% X2 O$ y2 Y" S6 U
  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |3 H' X. q. `" H9 N
  | |                    [*]   Enable UART1 RS485 funcation 9 q- |# j7 m( F- A+ L# S: M

7 ?% t, X* j2 f9 y; {- D; u想了解详细的功能实现,也可以查看8250.c文件里面的;1 T# z! R, L/ Q
void serial8250_tx_chars(struct uart_8250_port *up)
5 H3 \# W5 o+ u- p: i" U                return;
3 s. j. W5 p) w        }
4 ?' W, d) a* y" o5 p
. |: L9 U+ x1 _. p/ F# d; Z+#if 1! ]) E! {; o' R9 |9 j! U, _
+       /* The funcation with RS485 flow control */$ o) G/ I7 e  e  I4 L
+       if (up->port.private_data) {; r$ f( I& Z* E
+               struct serial8250_flow_ctrl *flow_ctrl_p;
3 [! w0 ?6 m: E% J" }* S6 V+               flow_ctrl_p = up->port.private_data;
3 o: P3 N# M$ a+
* }0 J" a( T1 G+               if (flow_ctrl_p->gpio) {8 N- O3 Y: i/ i* W$ W
+                       gpio_set_value(flow_ctrl_p->gpio, 1);$ H! }' N) Z7 l) x9 K+ u  w6 @# a# v& {
+                       ndelay(50); /* Propagation delay >= 50ns */' b3 ?/ O' a8 z
+               }1 f2 V0 l9 r! P; Q% R3 L
+       }2 q! K  T) I' @7 I+ T: C+ i
+#endif# Q) E# S3 a$ S3 C+ v" e+ {( O
希望对您有帮助。
- B% g/ i2 ~. a7 l4 {# T7 o# |
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊* D. j' N! X' r$ r6 h" g1 R8 }
3 y9 M6 c& A- l& C$ [( T- T* h: b

作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。& X. v: p( d( p

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28
( C2 t% \) T! n* G你说的serial8250_tx_chars函数没有你下面写的部分啊

! G. T( B4 ~' V* T在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码- y9 y4 `4 a: ]& L; s

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




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