|
+ L, e H( C2 K7 l0 @* X4 ^您好,使用OMAPL138-EVM开发板,按照《2-1开发板快速体验》,在内核编译时把"System Type -> TI DaVinci Implementations->Enable UART1 RS485 funcation"选项选上,并重新编译内核,然后使用编译后的内核启动系统。发现开发板485口能发数据,但是不能接收数据。: D, A6 h6 V7 o
+ N y& A5 U* K h" `, X
我的qt程序如下:
q$ J6 h7 r9 S, t( K2 R struct termios setting;. Z9 x6 V; j; i7 [+ q- X" q
fd = open("/dev/ttyS1", O_RDWR);4 e0 P8 a1 E9 a% V$ I$ x1 e
if (fd == -1) {
4 [- Y/ N% l) q% o% \8 n LOG_INFO("open /dev/ttyS failure ..."); {4 g* M+ U4 B2 ^; W
return ;
# W- q$ p" A; d. a+ V }2 s: O, n. y0 e# g$ Z! }
LOG_INFO("open /dev/ttyS1 success ...");, e) B( o. {4 H9 _) r# m/ H3 O; n
tcgetattr(fd, &setting);
. l. w; z6 r0 X; F$ f9 d& e speed_t speed;
+ c! D# g! l; o/ ?0 _3 G speed = btr;
* J( X0 E. L9 j( N2 j
) O# m, y, `; x cfsetispeed(&setting, speed);7 b6 p/ @8 l5 B- ]; J% D
cfsetospeed(&setting, speed);
; }, h' _- v% L: O! o cfmakeraw(&setting);/ n$ u% m7 J( _
setting .c_cflag |= CS8;7 i2 Z. g4 T: V
setting.c_cflag &= ~PARENB;
: z7 g( _3 V1 j* o2 b* n# x setting.c_iflag &= ~INPCK;
" e' C+ }6 u: _ setting.c_cflag &= ~CSTOPB;$ S/ X& z5 _3 D" C h+ o
tcflush(fd, TCIFLUSH);
0 \3 Z! {7 g8 n setting.c_cc[VTIME] = 0;
1 A5 ]$ A$ P# J0 `8 I, T$ n setting.c_cc[VMIN] = 0;
7 r. o( Q: L- N& Z0 y tcsetattr(fd, TCSANOW, &setting);+ @, S$ E2 G& e, j$ b6 G1 H0 P
% }8 {* D/ G0 H# q# q6 h int ret;
) ]& M2 l. z- r$ o char *buff = {"hello,485write ok"} ;
/ o! @7 \( p0 V9 }9 S+ w' U ret = write(fd, buff, 17);
$ ?6 \: }2 p/ \/ v6 [, \# L* W
/ V9 |5 g9 l/ P, c/ _" a char buff1[256] ;
6 L% s+ ]: N' ]3 \- B' P while(1){! p+ k/ p; X4 I! I/ D4 N
. u9 r: t8 r! V
ret = read(fd, buff1, 255);
6 E" y' ?) C0 p0 V if(ret > 0){" V9 E! D/ [2 Y* B. a6 H2 Y0 C
' H' e4 B2 V: S0 U7 O9 ]
write(fd, buff1, 5);
1 b$ `) t6 Y! [9 L2 I
# a! I% p& J7 h ~8 g W LOG_INFO("rs485 receiver ret = %d " , ret);
) \6 j9 a0 R- ?7 P! s( v
& l" M D `* w3 M% V }
4 P9 D; m# {' Q4 j& `$ U8 F' l1 m E
}- _3 N7 ]5 S7 a/ ~' b; Q2 h
# `3 a9 U, D1 Y8 k
我使用串口调试助手,开发板能发送数据,调试助手能收到”hello,485write ok“,但是调试助手发的数据开发板却没有收到。并且用示波器可以看到UART1_RXD管脚的数据。请问为什么?
! y7 A- r; O$ w' _) K8 K, g. b& |% t4 Q8 |8 g7 ~( s
" C* A' x1 n6 _+ y
- ? f7 _- ]' s. v/ ?6 N5 y |
|