嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑 + e& a" T% J+ M5 V2 Y+ J1 L/ P4 Y

( M4 _1 w! T5 q' ~0 d4 b我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,% s7 {) p: S$ X- J0 x4 M# M

% d9 f8 m5 A6 p) p( G* [, |9 H. c' D; l/ }, Q$ @! G

作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。. q; ^( @1 ?+ O6 X$ i: R# T
  *** DaVinci Core Type ***                                                              | |# P8 e- z( @/ u; z& X# P" s
  | |                    [ ] DaVinci 644x based system                                                              | |+ \) F+ s) U: f5 h) V  m, e
  | |                    [ ] DaVinci 355 based system                                                               | |$ B: a9 Z& a: R4 ?
  | |                    [ ] DaVinci 646x based system                                                              | |: _; d% z0 l3 z- |: y9 w
  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |
8 M, j% D1 Z5 r  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |" ?6 B7 M; I/ @  F; ?
  | |                    [ ]   Enable UART1 flow control                                                            | |
1 Q* a5 a9 w& o; p0 p, k  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |8 y+ ^2 u0 {2 |' `7 x
  | |                    [*]   Enable UART1 RS485 funcation
7 B) r! Q! |5 u: E# C4 i, w& c" @' \4 V( H& ~
想了解详细的功能实现,也可以查看8250.c文件里面的;! `: x) `6 F, H
void serial8250_tx_chars(struct uart_8250_port *up)
( |! V4 t( H2 O7 M8 v3 V$ q                return;
5 B$ O7 C: i0 z( `* a  d1 }        }
9 v. g* I( n( S+ N* V1 V+ c, U- V! A( D( r( ]
+#if 18 n+ Z, N, Y1 p: b
+       /* The funcation with RS485 flow control */. J' M  u6 C  C  B
+       if (up->port.private_data) {
  H, @* Q2 I1 H+               struct serial8250_flow_ctrl *flow_ctrl_p;
# z& A9 S$ Z# r+               flow_ctrl_p = up->port.private_data;
* @& Z* n' E/ H3 _+
5 g, ^: R3 D3 q. s: i! ~+               if (flow_ctrl_p->gpio) {
0 {8 D( u6 H6 u; ~1 z+                       gpio_set_value(flow_ctrl_p->gpio, 1);7 G+ f& ]0 n& v' k5 R6 \" m
+                       ndelay(50); /* Propagation delay >= 50ns */
* \. U4 t9 k4 t( Q* @3 f7 J8 k+               }
- K* R" u5 y5 o4 r/ n# O+ D3 B5 S+       }
+ O# i. P8 V. ?1 \* P3 A/ W+#endif2 @0 ~7 [. S0 }8 L
希望对您有帮助。
0 a' A; M! M* V1 i
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊
0 J2 H* `7 Z" ^4 I- d/ r" c
6 t9 u/ {" d5 E2 H4 q0 U* z- M# [! k
作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。
" ~7 G/ B2 L8 {8 e9 [
作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28
% b0 e/ [2 c% y" T- O你说的serial8250_tx_chars函数没有你下面写的部分啊

* e% |3 W6 l2 G3 n在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码+ [  Q3 N6 C: F# P

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




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