|
|
% U9 F3 Y, a+ m; T% A$ G
您好,使用OMAPL138-EVM开发板,按照《2-1开发板快速体验》,在内核编译时把"System Type -> TI DaVinci Implementations->Enable UART1 RS485 funcation"选项选上,并重新编译内核,然后使用编译后的内核启动系统。发现开发板485口能发数据,但是不能接收数据。
# R3 ~6 }7 T) ?; F. L' U+ L3 [
4 H; Q/ D4 a# l8 \我的qt程序如下:9 A8 j( J5 M5 U# b* o ]* Z7 B- P
struct termios setting;: D. u8 F" p* [) {! g2 p+ N
fd = open("/dev/ttyS1", O_RDWR);
1 r* ^+ v& k4 @ if (fd == -1) {1 N! H# f2 b( G, }% l
LOG_INFO("open /dev/ttyS failure ...");
8 T7 M e! c4 t return ;
9 F9 }" u& P% i- l0 [, @6 ~ }
0 ^# ?2 g; c6 H! _( d7 ~( ? LOG_INFO("open /dev/ttyS1 success ...");: ` [9 }$ \0 d, \+ }, G6 X) Y, m
tcgetattr(fd, &setting);& n- T( _+ h9 G; |' h# V8 y
speed_t speed;. e; C2 h/ r6 R0 D& f% b
speed = btr;
6 Z6 c# T9 H! e, n3 Q8 C3 c! y2 z& Y& w6 p
cfsetispeed(&setting, speed);
' j/ x# @' p# z: `+ C% z cfsetospeed(&setting, speed);! i* u+ ~9 h' V" y
cfmakeraw(&setting);
6 p$ f* h1 ^2 u: p9 d! P setting .c_cflag |= CS8;( V: P" V2 l5 m5 o3 n% z7 a6 ?: t% X
setting.c_cflag &= ~PARENB;% d( m2 V, ?! \
setting.c_iflag &= ~INPCK;
. f" m* v; Z; {+ B7 q setting.c_cflag &= ~CSTOPB;6 p; t, ^, t% b. T0 x2 O1 T
tcflush(fd, TCIFLUSH); @$ x( P9 P+ O% e6 ]1 I, u
setting.c_cc[VTIME] = 0;
7 p, L* o% S, m! ~ setting.c_cc[VMIN] = 0;
5 ]# f' n- z7 H/ q8 s. a @ tcsetattr(fd, TCSANOW, &setting);& @( v( {* c/ z' a, u$ S
1 }" J" e6 @" X# L: R int ret;
# i) t4 x5 I2 d4 Z* @ char *buff = {"hello,485write ok"} ;7 {! ]1 r: O1 L$ u5 Y7 p$ D* |
ret = write(fd, buff, 17);
- N+ \6 J/ F2 W! [& |9 Y6 g+ R5 Q
char buff1[256] ;9 Q+ X$ E7 f/ r0 r* \
while(1){( ~# P" s/ D% W2 J. H
! c: D8 i% h. v) n8 t ret = read(fd, buff1, 255);, d5 U7 b' ^8 A8 H0 k
if(ret > 0){
& W) r0 }% {1 k! u+ E: h
5 t/ D3 T F, x( K6 b write(fd, buff1, 5);
. h1 f1 |0 P: A7 T4 f% p
, k r0 ^3 Z4 V* a LOG_INFO("rs485 receiver ret = %d " , ret);
- D+ h0 g2 |5 X1 S' ^1 B( {: V, p2 l& P V0 r
}! U, O8 h9 O" I' |; N
0 }5 { \/ ]; w! y
}+ ]3 r- J% Z2 o- W6 E8 P5 n
7 L. H" l) A$ u% \7 R
我使用串口调试助手,开发板能发送数据,调试助手能收到”hello,485write ok“,但是调试助手发的数据开发板却没有收到。并且用示波器可以看到UART1_RXD管脚的数据。请问为什么?( P$ }. k1 v8 y. h4 ~
1 H' ?0 ~ Z$ T. L# P |
! L7 l. _% [# n# _
0 K/ V" d, T4 u) r9 M4 | |
|