|
% G! J' U6 R; ^# m0 b您好,使用OMAPL138-EVM开发板,按照《2-1开发板快速体验》,在内核编译时把"System Type -> TI DaVinci Implementations->Enable UART1 RS485 funcation"选项选上,并重新编译内核,然后使用编译后的内核启动系统。发现开发板485口能发数据,但是不能接收数据。: T1 v A$ M4 ~% A. I
- d# \6 W8 L7 y" \8 I2 N# @
我的qt程序如下:+ D) J. G& I7 W7 R5 \- b+ e
struct termios setting;
8 l- H7 e( J5 n( C fd = open("/dev/ttyS1", O_RDWR);
% m: K8 t8 u& r6 G& E( L if (fd == -1) {; f. U' [0 U) d( V/ e
LOG_INFO("open /dev/ttyS failure ...");4 c, b* S" ?7 C& G
return ; T* _7 r: o1 _% G
}
8 ^8 `) L/ |" R' C+ s) v7 {, l# U LOG_INFO("open /dev/ttyS1 success ...");) `/ e3 k1 O) N
tcgetattr(fd, &setting);3 \7 o$ f2 E2 X% U* I2 s
speed_t speed;9 b/ [- K# Q6 j0 Y, ?$ }
speed = btr;
4 d3 G7 W- I# {* p- V
" a# o( z F0 G A s cfsetispeed(&setting, speed);
6 v7 {. |, D" Q* X cfsetospeed(&setting, speed);
6 F3 r7 P4 O- z: K l cfmakeraw(&setting);
/ q' H1 A% p+ Y: | setting .c_cflag |= CS8;
' l$ S* M |! J0 ^ i7 Q2 l setting.c_cflag &= ~PARENB;
5 }- m$ a8 S J; T( W% q setting.c_iflag &= ~INPCK;
# Y8 P" x$ ?& M setting.c_cflag &= ~CSTOPB;- Y: g& V& j" t6 B3 |$ S5 [
tcflush(fd, TCIFLUSH);
% Z) w" `$ l1 i- }& K( X setting.c_cc[VTIME] = 0;% w$ ^- \' Y$ Q3 p, x
setting.c_cc[VMIN] = 0;1 N* k& V2 C( l4 ?) S/ i
tcsetattr(fd, TCSANOW, &setting);
}# M$ U) k5 O
! s/ I# a a# ] int ret;) P+ |' A: V3 H& p, H& r: N1 J3 p' _/ z
char *buff = {"hello,485write ok"} ;
, K5 v1 F) m1 F( K+ }/ q ret = write(fd, buff, 17);. a* }* ?! g' e) F5 m/ \) T8 j2 N
4 j0 l" k+ w& W! w2 k6 y0 ]! h
char buff1[256] ;. [. b* E0 n' ~$ Z
while(1){
' \* k. q6 \8 `8 a
6 h0 D) X. @# R4 {( ~ ret = read(fd, buff1, 255);
( W: y; P: H9 ?, M+ m if(ret > 0){
9 e M$ X0 {2 [3 u
% I) K: I: x# ^, e1 s. H: G% j write(fd, buff1, 5);- }" B3 d% b! G, z/ J8 N
: n% Z$ _- `' j) {$ U) ]
LOG_INFO("rs485 receiver ret = %d " , ret);
: i4 F. C7 R1 g1 S4 g2 }6 \2 j
}
- P& D; \- e6 x# d
8 v6 R' P2 L0 T% K: \# d2 Q# Q$ ` }2 f& a3 d4 y4 M* i
) B# d U) ?1 q3 U( B/ S, E 我使用串口调试助手,开发板能发送数据,调试助手能收到”hello,485write ok“,但是调试助手发的数据开发板却没有收到。并且用示波器可以看到UART1_RXD管脚的数据。请问为什么?2 o3 p8 w2 g/ H% ]- l. p3 ^
6 r4 d7 D4 w3 ~2 R* P+ j/ @# @( n, a! u! P" b+ J5 u
6 O9 y' V+ X, F( S; l$ E5 ?8 k8 d
|
|