CH376字节读函数的问题,帮帮我

单片机采用硬件SPI方式与376通讯. 我用的字节模式读取SD卡中的信息,DO在片选无效时兼做中断查询引脚, 但在读取字节超过255个字节时,查询中断函数一直查询不到中断导致读取字节函数老是跳不出来,我用的循环查询中断方式! 这种问题该怎么解决啊?中断引脚换成#INT可行吗?还是不让函数一直查询中断?

我把我的程序给贴出来了,编程环境AVRSTUDIO GCC编程UploadImages/20099171181187.rar

使用中断引脚和用DO查询中断 应该是一样的.

 unsigned short len; CH376_WR_CMD_PORT(CMD2H_BYTE_READ);   CH376_WR_DAT_PORT((UINT8)len);   CH376_WR_DAT_PORT((UINT8)(len>>8));   p1 = &xbuf[0];   while(1) {    SPI_CS_END( ); //scs 拉高    i = WaitInterrupt( );    if ( i == USB_INT_DISK_READ ) { SPI_CS_END( );    CH376_WR_CMD_PORT(CMD01_RD_USB_DATA0);    i =CH376_RD_DAT_PORT();    while ( i ) { *p1 = CH376_RD_DAT_PORT();      p1++;      i--;    }    SPI_CS_END( );    CH376_WR_CMD_PORT(CMD0H_BYTE_RD_GO);    }   else if ( i==USB_INT_SUCCESS ) {    SPI_CS_END( );    break;    }   else mStopIfError( i );   } }

用参考下面的操作流程试试.一个读写操作完成操作完成之后SPI 片选变为高电平.


我也是查询中断时把片选拉高了,在读取255个字节内程序没有任何问题,只要超过255也就是说中断引脚就不中断了,导致循环查询中断函数跳不出来!


 把你的程序传上来看看吧.或者把程序发到技术支持信箱 tech@wch.cn


只有登录才能回复,可以选择微信账号登录