各位高手:现小弟遇到一问题望各位指教。我想通过串口达到自发自收;我把程序download入目标机后,检查recvBuf 始终没有东西,为方便各位看现将sendBuf的内容改为a。程序如下:
#include "vxworks.h" #include "ioLib.h" #include "semLib.h" #include "D:\Tornado\target\h\ARCH\I86\ivI86.h"
#define bufSize 10 #define taskStack 20000
void comInterruptSvcRout(void); void comSendTask(void); void displayTask(void);
SEM_ID syncSem; int fd; char sendBuf[bufSize]="a"; char recvBuf[20]; int i = 0;
init() { intConnect(INUM_TO_IVEC(0x04),comInterruptSvcRout,0); syncSem = semBCreate(SEM_Q_FIFO,SEM_EMPTY); taskSpawn("comSend",200,0,taskStack,comSendTask,0,0,0,0,0,0,0,0,0,0); taskSpawn("display",220,0,taskStack,displayTask,0,0,0,0,0,0,0,0,0,0); fd = open("/tyCo/0",O_RDWR,0); ioctl(fd,FIOBAUDRATE,38400); /*ioctl(fd,OPT_LINE,1);*/ } void comSendTask(void)
{ while(1) { write(fd,sendBuf,bufSize); taskDelay(100); } }
void comInterruptSvcRout(void) { semGive(syncSem); }
void displayTask(void) { while(1) { semTake(syncSem,WAIT_FOREVER); read(fd,recvBuf,sizeof(recvBuf)); printf("%s\n",recvBuf); } } 各位请赐教有急用!!!!!