设计为从串口接收数据存到mCmdParam.ByteWrite.mByteBuffer中再写入U盘,串口查询方式 大家帮我看看程序哪有问题,谢谢 while(1) { if(RI==1) { c=SBUF; if(Comm_GetcharCtr { *pWriteByteBuffer=c;//mCmdParam.ByteWrite.mByteBuffer的指针 pWriteByteBuffer++; Comm_GetcharCtr++; //mCmdParam.ByteWrite.mByteBuffer中的字符数 if(pWriteByteBuffer==&mCmdParam.ByteWrite.mByteBuffer[MAX_BYTE_IO]) { pWriteByteBuffer==&mCmdParam.ByteWrite.mByteBuffer[0]; mCmdParam.ByteWrite.mByteCount = MAX_BYTE_IO; i = CH375ByteWrite( ); mStopIfError( i ); } } } RI=0; if (c==0) break; } mCmdParam.ByteWrite.mByteCount =Comm_GetcharCtr; i = CH375ByteWrite( ); mStopIfError( i );
我也有这种问题,怎么解决呢?给条活路吧
程序上面写的有点乱,实际上在写数据的时候很简单,只需要将接收到的数据放到mCmdParam.ByteWrite.mByteBuffer里面去就可以了,你可以这样写下: *P=mCmdParam.ByteWrite.mByteBuffer; count=0; while(1) { if(RI==1){ c=SBUF; *P=c; p++; RI=0; count++; while(1){ while(RI==0); *P=SBUF; RI=0; p++; if(count==MAX_BYTE_IO) { mCmdParam.ByteWrite.mByteCount = MAX_BYTE_IO; i = CH375ByteWrite( ); mStopIfError( i ); count=0; break; } count++; } } } 这个程序只是接收到一串字节之后写到U盘里面去,前提是你首先要将文件打开。