|
|
' e5 q" `0 ?; I2 \" L) h( o您好,使用OMAPL138-EVM开发板,按照《2-1开发板快速体验》,在内核编译时把"System Type -> TI DaVinci Implementations->Enable UART1 RS485 funcation"选项选上,并重新编译内核,然后使用编译后的内核启动系统。发现开发板485口能发数据,但是不能接收数据。
6 c! }* Q! i. T6 M! {
9 X2 Z0 P7 ~2 Q% y- D5 @7 P, Z/ h我的qt程序如下:' M- s. h( o4 M$ r
struct termios setting;' c' R" z L% _8 S, p
fd = open("/dev/ttyS1", O_RDWR);
0 @! e0 q# C v' k l* K if (fd == -1) {( `7 f, T. x# A+ Z! J. A
LOG_INFO("open /dev/ttyS failure ...");
! r' C$ s2 |- Y return ;
' g9 D! ^) ~; M& g }1 S. M+ Z/ K, O0 F. |. b
LOG_INFO("open /dev/ttyS1 success ...");. V: ~- R& K6 p: D% k1 \
tcgetattr(fd, &setting);
9 t0 P2 J! \' ]# } speed_t speed;7 \6 {- L* E5 r, I; Q4 R/ |
speed = btr;
: h; |7 J! I1 B) {7 E3 }' t5 u8 g s& I) Y
cfsetispeed(&setting, speed);
" v) U8 P$ q9 u- | cfsetospeed(&setting, speed);
+ o/ c3 Q8 m( K& w/ i. }3 s+ \# W cfmakeraw(&setting);& w" v. L* Q! ~1 \! u7 R3 ^
setting .c_cflag |= CS8;' X% P1 a3 `2 T [+ m, t' ^
setting.c_cflag &= ~PARENB;/ ?/ d0 l( K/ S6 p4 w6 u
setting.c_iflag &= ~INPCK;
+ J4 [+ a& R8 E. Q" w5 ` setting.c_cflag &= ~CSTOPB;, v/ B0 @/ v3 h. j9 i( w
tcflush(fd, TCIFLUSH);
1 c4 @/ z% ]5 q! ^& P setting.c_cc[VTIME] = 0;$ ?1 Q0 k4 ?7 C" r5 y
setting.c_cc[VMIN] = 0;9 O' p, Y1 m5 O* d0 n
tcsetattr(fd, TCSANOW, &setting);; s& r7 {' B. c3 K
+ v. p1 m( m4 _: q; n9 d, m int ret;
: E$ r5 T/ P$ L7 x" k* }* A char *buff = {"hello,485write ok"} ;' Q# |0 k# a" V0 ?* {6 k/ G" }. a
ret = write(fd, buff, 17);
* {- n$ i2 d+ U. a/ Z
4 a' m1 |% T4 z; S; O6 D! { char buff1[256] ;
3 O) E1 h( J# D6 J( l while(1){, F/ O+ E. g1 ^/ c3 v! z
! |4 Y! {+ |0 i
ret = read(fd, buff1, 255);
$ m% }' n+ w/ l3 n if(ret > 0){ K- O% {8 j7 J( }
: v5 J; l% h3 L7 h4 a
write(fd, buff1, 5);$ l( L, W5 s: \8 H
; w1 ?8 P! @$ P7 O% m
LOG_INFO("rs485 receiver ret = %d " , ret);6 k( G6 c& d$ ]5 }6 G7 r
6 c9 B# Q3 _+ p2 b. @ }0 H$ S: q# c, E: W% t2 N
- `7 L) X# a8 Z$ g+ t# H+ ^3 k! Q' Y }$ \: E7 q3 G& L N! [ s7 q5 r1 p
+ c5 }! r" k P. P1 g
我使用串口调试助手,开发板能发送数据,调试助手能收到”hello,485write ok“,但是调试助手发的数据开发板却没有收到。并且用示波器可以看到UART1_RXD管脚的数据。请问为什么?& y! z5 ^ Y2 \0 l2 K* i
7 l9 k7 Z' L8 M9 q- l8 S7 m* y. {
$ u8 t& c, I2 k8 L$ o
: e% F9 s) W; ^! R
|
|