|
|
2 @7 I( a) `# _8 I2 I您好,使用OMAPL138-EVM开发板,按照《2-1开发板快速体验》,在内核编译时把"System Type -> TI DaVinci Implementations->Enable UART1 RS485 funcation"选项选上,并重新编译内核,然后使用编译后的内核启动系统。发现开发板485口能发数据,但是不能接收数据。- E3 I1 n# B$ L k. ], w9 _" t. s
. Z7 N3 d# {5 f我的qt程序如下:
8 s& ]4 A& H- Z" [$ ^1 l struct termios setting;3 q* d& w) L% T9 v. k
fd = open("/dev/ttyS1", O_RDWR);
{0 H0 D% C5 R9 s9 x* s3 F; c if (fd == -1) {
J1 h' w& u0 Z; H! c& l5 ~( f, A; B! N LOG_INFO("open /dev/ttyS failure ...");8 A! y( n5 ~5 Y4 X. N
return ;0 e/ l; G W" i/ T+ B0 R1 I
}
* n1 t2 @2 H. F2 Z; s LOG_INFO("open /dev/ttyS1 success ...");" ]4 n; h, T$ x: Y6 x( Z- }2 @1 \/ E
tcgetattr(fd, &setting);
& R, O1 `6 r6 u speed_t speed;
0 q+ G* h$ K1 J( O8 r speed = btr;
( ]4 K; P, y4 s5 p* d
. c- V0 k$ J, W3 c cfsetispeed(&setting, speed);3 ]9 [" B" v7 M% U0 L: D& G7 v9 }
cfsetospeed(&setting, speed);0 R) k' e3 N' V
cfmakeraw(&setting);
( ?" W& K1 a$ d- m, H% Y setting .c_cflag |= CS8;
, D! L* O. w: ?# _ setting.c_cflag &= ~PARENB;1 u R9 N( e$ k& P* R. ]
setting.c_iflag &= ~INPCK;
6 k& ]9 q0 m/ G8 S- q7 K+ A* [ setting.c_cflag &= ~CSTOPB;
# _* i) N9 o2 I, _" `$ Q" z tcflush(fd, TCIFLUSH);
( R( t4 N. ^0 g3 k setting.c_cc[VTIME] = 0;
/ E& M% a% ]( A* P. [' R+ i setting.c_cc[VMIN] = 0;
9 e$ g9 m3 v0 `! _2 S tcsetattr(fd, TCSANOW, &setting);* h6 a2 N. S8 E0 G. [1 m
' o* O( l; m& f* F3 L; J4 [ int ret;
* ^ U. c6 |5 j, ^ _ l) s char *buff = {"hello,485write ok"} ;
' g+ q) a) X: s1 @* _ g/ Q ret = write(fd, buff, 17);
9 H; N }8 Z8 t5 P
f8 a1 p: Z+ s; T" s% [: s% K2 Z char buff1[256] ;5 w0 C2 K& Q" z+ m# L/ ~ n
while(1){
; l( _3 h, p) @0 i' k4 k5 c e; m
ret = read(fd, buff1, 255);
+ y" L8 W6 ]5 U if(ret > 0){! u7 F/ d* ?& ]+ R
! F) R( ~% ]& z: l write(fd, buff1, 5);
$ E4 _" x: T; {' Z; [. k1 v& i+ R/ Y M" z+ \4 Y8 v
LOG_INFO("rs485 receiver ret = %d " , ret);
. m/ I- A9 l$ } G D; `) p% C) a; F( V
}
. [, U, K1 [6 \8 t3 ] ~
& d- ^: @% [; c2 b: H }
: f) ^% [5 O, @7 C
0 e. y/ Y D) g X: V 我使用串口调试助手,开发板能发送数据,调试助手能收到”hello,485write ok“,但是调试助手发的数据开发板却没有收到。并且用示波器可以看到UART1_RXD管脚的数据。请问为什么?
7 W" T4 z- L% p6 w; c7 p3 W) C6 a, k: N7 @" u
5 B3 c$ i' ^6 e. t2 p3 P: @3 x
8 K# Y! w% F) @' A |
|