UINT8 Query376Interrupt( void ) { if(( CH376_INT)==0) /* 如果未连接CH376的中断引脚则查询串口中断状态码 */ return( TRUE ); else { //P1OUT|=BIT0; return(FALSE); }
} 采用的是引脚读取模式,,创建文件,写入数据都可以完成,唯独,不能读取数据,请个位帮帮忙![Emot]20[/Emot][Emot]20[/Emot][Emot]20[/Emot][Emot]20[/Emot]
UINT8 Query376Interrupt( void ) { if(( CH376_INT)==0) /* 如果未连接CH376的中断引脚则查询串口中断状态码 */ return( TRUE ); else { //P1OUT|=BIT0; return(FALSE); }
} 采用的是引脚读取模式,,创建文件,写入数据都可以完成,唯独,不能读取数据,请个位帮帮忙![Emot]20[/Emot][Emot]20[/Emot][Emot]20[/Emot][Emot]20[/Emot]
读数据和写数据的过程是类似的,既然你可以写数据,那么跟中断引脚读取方式关系不大。你读操作是怎样的?先用字节读取方式试一下。
现在好像可以读了,CH376ByteRead可以通过,但是返回我读到buf里面的值好像有问题。 其实这个函数CH376ByteRead,我有点看不懂这是怎么用的。 我这么用对吗? TotalCount = 2000; /* 准备读取总长度 */ while ( TotalCount )/* 如果文件比较大,一次读不完,可以再调用CH376ByteRead继续读取,文件指针自动向后移动 */ { if ( TotalCount > sizeof(buf) ) i = sizeof(buf); /* 剩余数据较多,限制单次读写的长度不能超过缓冲区大小 */ else i = TotalCount; /* 最后剩余的字节数 */ s = CH376ByteRead( buf, i, &RealCount ); /* 以字节为单位读取数据块,单次读写的长度不能超过缓冲区大小,第二次调用时接着刚才的向后读 */ TotalCount -= (UINT8)RealCount; /* 计数,减去当前实际已经读出的字符数 */ // for ( s=0; s!=RealCount; s++ ) // UCA0TXBUF=buf[s]; /* 显示读出的字符 */ if ( RealCount < i )/* 实际读出的字符数少于要求读出的字符数,说明已经到文件的结尾 */ { break; } VS1003_SPI_TxFrame(buf, 64); }