|
~: [& n6 R2 b9 z
您好,使用OMAPL138-EVM开发板,按照《2-1开发板快速体验》,在内核编译时把"System Type -> TI DaVinci Implementations->Enable UART1 RS485 funcation"选项选上,并重新编译内核,然后使用编译后的内核启动系统。发现开发板485口能发数据,但是不能接收数据。$ N2 m: N `4 L( b K% b$ |
) ?8 n7 h' u0 _1 I0 Y" d" v我的qt程序如下:
* R4 t% j( s& {9 s% P. U struct termios setting;
# M) p. u _0 ]* B* [ R; U0 A fd = open("/dev/ttyS1", O_RDWR);
" N+ g+ L/ h! F. N- L" n J: F" X if (fd == -1) {; t- p( ]+ D6 ^1 j
LOG_INFO("open /dev/ttyS failure ...");
. |' Y; o8 I+ ^9 y8 ?8 W return ;4 V( m, g* B# [# B9 ?
}2 `2 H3 J0 L' m5 ~7 P6 t# G
LOG_INFO("open /dev/ttyS1 success ...");8 X' e" Y8 ^& [5 R+ k& \$ F7 G
tcgetattr(fd, &setting);
u2 j+ o2 R; k* R speed_t speed;
2 T: J6 `5 K: V0 \3 S3 m2 C0 I2 } speed = btr;* `. x1 m5 {# L' g
3 {5 ~* V/ G* y2 O1 `
cfsetispeed(&setting, speed);
) f% y. ]: { r d cfsetospeed(&setting, speed);0 A8 r, U7 ^1 T7 ~5 ]0 m
cfmakeraw(&setting);
" y1 t: ]/ P$ ? setting .c_cflag |= CS8;. \7 U9 S* g5 B. S2 ^7 n
setting.c_cflag &= ~PARENB;
! l( R. H" K- d) Y) q" V setting.c_iflag &= ~INPCK;
) {% r* c5 y) z setting.c_cflag &= ~CSTOPB;
1 y; M$ e! D* o" r! K tcflush(fd, TCIFLUSH);; ^. P% {$ o; J7 s; G- J
setting.c_cc[VTIME] = 0;1 o/ f* e/ d5 h1 O8 J3 |4 z
setting.c_cc[VMIN] = 0;# }3 N6 X0 G9 K9 ^" @: N
tcsetattr(fd, TCSANOW, &setting);+ W# L( G1 o. o
% L; o1 Y8 h. [$ m int ret;
* [" v: S$ [7 F char *buff = {"hello,485write ok"} ;, h8 h. q5 y+ v+ m1 L, t3 S
ret = write(fd, buff, 17);
. i( S: D* f3 B$ m
9 F! c5 }: X6 x$ h6 F- W- P3 h6 q char buff1[256] ;, x) ?, Y. w6 `6 N
while(1){
. O/ N3 @# V7 _& s8 o+ }$ a3 D! N6 u: p3 A- L( B- ~6 d/ J! [7 T
ret = read(fd, buff1, 255);
; L3 {9 K, ?! I) j if(ret > 0){5 s9 F" a7 s5 i
4 o& w [, ]2 U7 y! q7 a$ r% M
write(fd, buff1, 5);
/ [- ]2 u: y* {2 y R" V: R" Q9 w1 Q* s3 d
LOG_INFO("rs485 receiver ret = %d " , ret);
5 j* v* M; e5 u1 j4 y" c" s6 q2 W0 p' }
}; n: ~% B% e0 Z6 w5 m
* p1 @2 z8 ~, a: ~ }
1 ^6 H8 T1 a# t, p3 N7 ]1 e$ Y8 @4 a4 \. g4 ?; I- y b4 K" N
我使用串口调试助手,开发板能发送数据,调试助手能收到”hello,485write ok“,但是调试助手发的数据开发板却没有收到。并且用示波器可以看到UART1_RXD管脚的数据。请问为什么?
" W1 D) J, [/ Y% d
/ a& R) _. i6 `. c
# S) ?' C8 b6 }4 ?- N: k0 ^, `/ d7 {
! D4 y! q0 Y, c8 F7 t |
|