嵌入式开发者社区

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

作者: zhaohui293    时间: 2014-10-31 17:01
标题: 关于RS485控制引脚
本帖最后由 zhaohui293 于 2014-10-31 17:05 编辑
, [4 c  ^- k! [# l8 F
2 E$ W) i) |9 m& M9 i6 A我的板子修改了RS485收发控制引脚,不知道在驱动的哪个位置修改RS485控制引脚,在8250.c的哪个位置,/ N0 N6 w5 o1 `: B) W5 J5 Y2 @# N
% S9 R1 W7 h& v$ s8 e! m

5 j- H/ @: V; {- W' x
作者: teddy    时间: 2014-10-31 17:21
您好!tronlong提供的最新的linux3.3内核已经对uart0和uart1做了rs485功能的支持,uart2默认为启动串口。如何想使能uart0和uart1 rs485的功能,只需在menuconfig将485使能。7 T$ g% D. I4 i8 t
  *** DaVinci Core Type ***                                                              | |7 D' u* v$ A, B' f1 R
  | |                    [ ] DaVinci 644x based system                                                              | |+ W4 x2 [% c0 W6 b4 a! ~7 a
  | |                    [ ] DaVinci 355 based system                                                               | |: Y  {$ j2 ^& F" H! U4 y
  | |                    [ ] DaVinci 646x based system                                                              | |
& c% V, h3 b+ B, _- z  | |                    [ ] DA830/OMAP-L137/AM17x based system                                                     | |. A- @. Q' s+ `7 j1 A* {
  | |                    [*] DA850/OMAP-L138/AM18x based system                                                     | |
) R! y* T5 J  ^2 R! a) g4 L! D  | |                    [ ]   Enable UART1 flow control                                                            | |
" h2 ]$ j: w/ h% h# `& e  | |                    [ ]   Enable UART0 RS485 funcation                                                         | |% l$ o: ~4 u" Z% X
  | |                    [*]   Enable UART1 RS485 funcation 0 G) I8 H* X- o4 M0 b+ w9 S

2 y5 d: L0 |, s+ C0 j/ c想了解详细的功能实现,也可以查看8250.c文件里面的;
" G4 ~2 w$ Q; f! Rvoid serial8250_tx_chars(struct uart_8250_port *up)& V3 }- Y+ y  T+ Y7 d) W
                return;6 F  D8 v7 n% m* S" P8 v1 x3 p
        }
/ D/ L; h2 K) i. R
' V6 m0 C5 b6 `+ P, s+#if 1
) T: V* p3 q  b; `, J9 c' I+       /* The funcation with RS485 flow control */1 W9 B) A/ b1 `, y& M
+       if (up->port.private_data) {
% U: R/ T2 G! t' _+               struct serial8250_flow_ctrl *flow_ctrl_p;
) x" f! _! [( T+               flow_ctrl_p = up->port.private_data;/ A& [* H; x# I" j3 X
+
, c' q* p$ L: Q4 t+               if (flow_ctrl_p->gpio) {
& b& A9 |; ?; ^, P6 o# O( a+                       gpio_set_value(flow_ctrl_p->gpio, 1);
& m& }3 _1 \2 `" t! B+                       ndelay(50); /* Propagation delay >= 50ns */
" |* `+ s' `) w3 ]5 Q+               }
0 l. z1 g/ r+ |4 Q2 Y& _0 J& C+       }4 ~9 ^: s3 j: g7 v( D( W4 ~' d
+#endif% k' m2 I5 W. L0 `2 g
希望对您有帮助。
* L: ~7 G" Y+ o; ^0 @) J& r: j
作者: zhaohui293    时间: 2014-10-31 17:28
你说的serial8250_tx_chars函数没有你下面写的部分啊4 |4 J) v8 K$ ^1 j

0 b  b2 J' }7 b/ U) u( R
作者: teddy    时间: 2014-10-31 18:07
请跟创龙的技术支持获取最新的linux3.3内核源码。+ w. W6 V: x" v2 l& N

作者: 2532609929    时间: 2014-10-31 19:35
zhaohui293 发表于 2014-10-31 17:28! {+ H2 ^1 ]# e: v
你说的serial8250_tx_chars函数没有你下面写的部分啊
* Y0 l  G$ K; w' ^9 R6 r
在最新的源码中有的,我记得发过给你的了,请使用最新的内核源码/ a* D3 `3 R# R2 s+ g

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




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